使用鼠标移动事件绘制和移动线

时间:2019-01-10 10:15:11

标签: c#

我可以使用以下代码在屏幕上的任意位置绘制垂直线:

[DllImport("User32.dll")]
public static extern IntPtr GetDC(IntPtr hwnd);
[DllImport("User32.dll")]

private void Form2_Load(object sender, EventArgs e)
  {
    // DRAWING
    IntPtr desktopPtr = GetDC(IntPtr.Zero);
    Graphics f = Graphics.FromHdc(desktopPtr);

    Pen pen = new Pen(Color.FromArgb(255, 255, 111, 0));
    f.DrawLine(pen, this.Location.X, this.Location.Y, this.Location.X, 100);

    f.Dispose();
    ReleaseDC(IntPtr.Zero, desktopPtr);
  }

上面的示例代码在打开表单的坐标上绘制了一条垂直线,但是当我在其上移动任何内容(光标,表单等)时,该线消失了。

我要保留这行直到关闭应用程序。

接下来,我要实现的功能是使该行随着鼠标移动事件而移动。可能吗?

0 个答案:

没有答案