110,535
社区成员
发帖
与我相关
我的任务
分享
public partial class Form2 : Form
{
Point Form2_MouseMove;
public Form2()
{
InitializeComponent();
}
private void Form2_Paint(object sender, PaintEventArgs e)
{
Graphics dc = e.Graphics;
Pen blue = new Pen(Color.Blue, 3);
dc.DrawRectangle(blue, Form2_MouseMove.X, Form2_MouseMove.Y, 50, 50);
}
private void Form2_MouseMove_1(object sender, MouseEventArgs e)
{
Form2_MouseMove.X = e.X;
Form2_MouseMove.Y = e.Y;
this.Text = string.Format("鼠标位置:({0},{1})", Form2_MouseMove.X, Form2_MouseMove.Y);
this.Invalidate();
}
public partial class Form1 : Form
{
Point pt;
public Form1()
{
InitializeComponent();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics dc = e.Graphics;
Pen blue = new Pen(Color.Blue, 3);
dc.DrawRectangle(blue, pt.X, pt.Y, 50, 50);
}
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
pt.X = e.X;
pt.Y = e.Y;
this.Text = string.Format("鼠标位置:({0},{1})", pt.X, pt.Y);
this.Invalidate();
}
}
public partial class Form1 : Form
{
Point pt;
public bool a ;
public Form1()
{
InitializeComponent();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
if (a==true)
{
Graphics dc = e.Graphics;
Pen blue = new Pen(Color.Blue, 3);
dc.DrawRectangle(blue, pt.X, pt.Y, 50, 50);
}
a = false;
}
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
a = false;
pt.X = e.X;
pt.Y = e.Y;
this.Text = string.Format("鼠标位置:({0},{1})", pt.X, pt.Y);
}
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
a = true;
}
private void panel1_MouseUp(object sender, MouseEventArgs e)
{
a = true;
}
鼠标抬起就绘图,但是实现不了。
a作为布尔型变量设置为一个开关,这样行不?我想要鼠标抬起时,绘制在panel上。鼠标在移动也不消失,咋办哈? 是啊....
是啊....
应使panel无效(Invalidate())而不是窗体form
public partial class Form1 : Form
{
Point pt;
public Form1()
{
InitializeComponent();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics dc = e.Graphics;
Pen blue = new Pen(Color.Blue, 3);
dc.DrawRectangle(blue, pt.X, pt.Y, 50, 50);
}
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
pt.X = e.X;
pt.Y = e.Y;
this.Text = string.Format("鼠标位置:({0},{1})", pt.X, pt.Y);
panel1.Invalidate();
}
}