我可以使用以下代码在屏幕上的任意位置绘制垂直线:
[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);
}
上面的示例代码在打开表单的坐标上绘制了一条垂直线,但是当我在其上移动任何内容(光标,表单等)时,该线消失了。
我要保留这行直到关闭应用程序。
接下来,我要实现的功能是使该行随着鼠标移动事件而移动。可能吗?