下面这个代码,可以再拖动的时候,产生黑框。如果想花哨一些,可以在FormPaint中随便画了!
private int x,y,x1,y1;
private bool BeginDrag = false;
private void button1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) {
x = e.X;
y = e.Y;
BeginDrag = true;
}
private void button1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) {
if(BeginDrag){
button1.Left += e.X - x;
button1.Top += e.Y - y;
BeginDrag = false;
}
}
private void button1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) {
if(BeginDrag){
x1 = button1.Left + e.X - x;
y1 = button1.Top + e.Y - y;
Invalidate();
}
}
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) {
if(BeginDrag){
System.Drawing.Pen myPen = new System.Drawing.Pen(System.Drawing.Color.Black);
e.Graphics.DrawRectangle(myPen,x1,y1,button1.Width,button1.Height);
}
}
移动控件
最新推荐文章于 2020-05-25 00:46:31 发布