private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (isMouseDown == true)
{ P2.X = e.X;
P2.Y = e.Y;
DrawTY(this.CreateGraphics(), P2.X, P2.Y, 100, 100);
this.Invalidate();
}
}修改了下你的代码,在MouseMove中加入了Move的事件,这样才能看到圆,当然在窗体重绘过程中就有消失了,所以是闪烁的,但是并没有出现你所说的问题
解决方案 »
- 使用C#代码读取中控指纹考勤机内的数据时提示错误代码-2
- Int 64~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ToolStripStatusLabel如何设置它的自动换行功能?
- 远程连接数据库
- iis 调用dll的问题
- 在线跪求XML读写操作
- 用Controlpaint类绘制Linklabel
- Ajax搜索框的问题
- 关于将类中属性值显示在窗体控件中。
- 怎样在桌面上画图?
- 怎么在winform中让一个label左右循环飘动
- 如果在 interface 上定义 [ClassInterface(ClassInterfaceType.AutoDual)] 生成 DLL
{
public Form1()
{
InitializeComponent();
} Point P1 = new Point();
Point P2 = new Point();
bool isMouseDown = false; private void Form1_MouseUp(object sender, MouseEventArgs e)
{
isMouseDown = false;
} private void Form1_Load(object sender, EventArgs e)
{
} private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics; // g.DrawEllipse(new Pen(Color.Red, 3), 1, 1, 5, 5);
g.DrawRectangle(new Pen(Color.Blue, 3), P1.X > P2.X ? P2.X : P1.X, P1.Y > P2.Y ? P2.Y : P1.Y, Math.Abs(P2.X - P1.X), Math.Abs(P2.Y - P1.Y));
} private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (isMouseDown == false)
{
isMouseDown = true; P1.X = e.X;
P1.Y = e.Y;
}
} private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (isMouseDown == true)
{ P2.X = e.X;
P2.Y = e.Y; this.Invalidate();
}
}
}谢谢上面的同学,但是还有问题。
大家看我上面那一行代码,可以实现矩形的。