Je veux savoir comment dessiner un rectangle en C# et le faire glisser et déposer dans la page ici mon code pour le dessiner mais je ne peux pas le faire glisser ou le déposer.Glissez et déposez le rectangle en C#
public partial class Form1 : Form
{
public bool drag = false;
int cur_x, cur_y;
Rectangle rec = new Rectangle(10, 10, 100, 100);
public Form1()
{
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs r)
{
base.OnPaint(r);
Graphics g = r.Graphics;
//g.DrawRectangle(Pens.Black, rec);
g.FillRectangle(Brushes.Aquamarine, rec);
}
private void recmousedown(object sender, MouseEventArgs m)
{
if (m.Button != MouseButtons.Left)
return;
rec = new Rectangle(m.X, m.Y,100,100);
drag = true;
cur_x = m.X;
cur_y = m.Y;
}
private void recmousemove(object sender, MouseEventArgs m)
{
if (m.Button != MouseButtons.Left)
return;
rec.X = m.X;
rec.Y = m.Y;
Invalidate();
}
}
Je pense que vous devez en dire un peu plus sur ce que vous entendez par "glisser-déposer" ici: les techniques utilisant la peinture vont produire des rectangles uniques qui seront effacés lors du prochain MouseDown par l'appel de Invalidate. Cherchez-vous un rectangle, ou des rectangles qui "persisteront" sur l'écran? Que vous pouvez ensuite "sélectionner" et déplacer ou redimensionner? – BillW
Si vous avez besoin de "formes", consultez cette question SO actuelle: http://stackoverflow.com/questions/2440912/visual-studio-adding-ovalshape-and-rectangleshape-tool-references-to-a-project – BillW