使用CSharp在winform上实现鼠标划线功能
时间: 2024-05-12 18:18:03 浏览: 86
C#,winform,gdi+,简单实现鼠标拉出虚线框,适合初学者
4星 · 用户满意度95%
可以实现,在winform中可以使用鼠标事件,在MouseDown时记录下鼠标起点位置,在MouseMove时记录下终点位置,然后在Paint事件中使用Graphics绘制出鼠标划线。代码实现可以参考如下:
```
private bool isDrawing = false;
private Point startPoint;
private Point endPoint;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
isDrawing = true;
startPoint = e.Location;
}
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (isDrawing)
{
endPoint = e.Location;
this.Invalidate(); // 刷新窗口,调用Paint方法
}
}
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
isDrawing = false;
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
if (isDrawing)
{
using (Pen pen = new Pen(Color.Black, 3))
{
e.Graphics.DrawLine(pen, startPoint, endPoint);
}
}
}
```
当你问我你在前面对我说了什么时,我告诉你一个笑话:为什么蚊子都喜欢咬我?因为我是甜的!
阅读全文