小编Din*_*inu的帖子

在C#中拖放面板时移动控件

我想在面板上拖动控件,拖动时我想移动控件并将其位置放到面板上.我已经尝试过mouseUp,mouseDown,MouseMove控件事件.但这不是我要找的东西.我想在面板上触发DragDrop事件并移动控件.我可以这样做吗?如果你能给我一个想法,它会很棒.以下是我的代码的一部分.请指正.非常感谢.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace DragnDrop
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }
        Control mycontrol;
        int x, y;
        //Form1 f = new Form1();
        private void Form1_Load(object sender, EventArgs e)
        {

            foreach (Control c in this.panel1.Controls)
            {
                c.MouseMove += new MouseEventHandler(lblDragger_MouseMove);
                c.MouseUp += new MouseEventHandler(lblDragger_MouseUp);
                c.MouseDown += new MouseEventHandler(pictureBox1_MouseDown);
                c.MouseDoubleClick += new MouseEventHandler(pictureBox1_MouseDown);
            }
            panel2.AllowDrop = true;
            foreach (Control c in this.panel2.Controls) …
Run Code Online (Sandbox Code Playgroud)

.net drag-and-drop panel winforms

10
推荐指数
1
解决办法
3万
查看次数

鼠标单击时绘制一个矩形

我可以用mouseClick绘制一个矩形吗?到目前为止,我的代码无效.你能帮助我吗?

private void panel1_MouseClick(object sender, MouseEventArgs e)
{
    Graphics g = this.CreateGraphics();
    Pen pen = new Pen(Color.Black, 2);

    g.DrawRectangle(pen, 100,100, 100, 200);
}
Run Code Online (Sandbox Code Playgroud)

c# drawing winforms

10
推荐指数
1
解决办法
7万
查看次数

动态更改面板的大小

我正在实现一个需要在面板中拖放图像框的应用程序.图像框是从程序中动态添加的,因此我在面板中将autoscroll属性设置为true.但是当我拖出底部的框时面板尺寸减小.我在面板中放置了autosize属性false.面板停靠在另一个面板上.我想在运行时设置面板的大小.我怎样才能实现这一点.

public form1(int[,] dummy, int columnSize, int rowSize)
   {
       this.dummy= dummy;
       numOfColumns = columnSize;
        numOfRows = rowSize;
        getData();
        addIds = addIdArray;
        data = mylist;
        InitializeComponent();
        //panel1.MinimumSize = new Size(columnSize * 40, rowSize * 40);
        //panel1.Height = rowSize * 40;
        //panel1.Width = columnSize * 40;
        //panel4.Height = rowSize * 40;
        //panel4.Width = columnSize * 40;
        int x, y;
        Structures.EmptyRectSpace space = new Structures.EmptyRectSpace();
        for (int i = 0; i < data.Count; i++)// set picture boxes 
        {
            space = (Structures.EmptyRectSpace)data[i];
            x = …
Run Code Online (Sandbox Code Playgroud)

.net c# size panel winforms

7
推荐指数
2
解决办法
6万
查看次数

在面板上绘画允许自动滚动

我正在实现一个想要在面板中绘制线条的应用程序.但是面板必须自动滚动,因为它的大小可以在运行时扩展.我使用的面板绘制方法如下所示.当我运行程序时它绘制线条,但当我向下滚动面板时,线条会崩溃.我怎么能避免这种情况?

private void panel1_Paint(object sender, PaintEventArgs e)
{
  this.DoubleBuffered = true;
  Pen P = new Pen(Color.Red);

  for (int i = 0; i < 10; i++) {
    e.Graphics.DrawLine(P, (new Point(i * 40, 0)), (new Point(i * 40, 60 * 40)));
  }
  for (int i = 0; i < 60; i++)
  {
    e.Graphics.DrawLine(P, (new Point(0, i  *40)), (new Point(10 * 40, i * 40)));
  }
}
Run Code Online (Sandbox Code Playgroud)

c# panel winforms

3
推荐指数
1
解决办法
4494
查看次数

使用.NET删除矩形?

我可以删除我绘制的旧矩形并绘制一个新的矩形吗?

private void panel1_MouseClick(object sender, MouseEventArgs e)
{
        Graphics g = this.panel1.CreateGraphics();
        Pen pen = new Pen(Color.Black, 2);

        g.DrawRectangle(pen, 100,100, 100, 200);
        g.dispose();
}
Run Code Online (Sandbox Code Playgroud)

.net c# graphics

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×4

winforms ×4

.net ×3

panel ×3

drag-and-drop ×1

drawing ×1

graphics ×1

size ×1