【发布时间】:2014-08-17 13:15:32
【问题描述】:
我正在创建一个简单的应用程序,它在鼠标之后绘制一条水平线和一条垂直线。
使用 TransparencyKey 使表单透明,使用 Paint 事件绘制线条:
private void Form1_Paint(object sender, PaintEventArgs e)
{
Pen pen = new Pen(Color.Lime);
e.Graphics.DrawLine(pen, 0, py, this.Size.Width, py);
e.Graphics.DrawLine(pen, px, 0, px, this.Size.Height);
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
px = e.X; // get cursor X pos
py = e.Y; // get cursor Y pos
Invalidate(); // fire Paint event
}
但 MouseMove 事件仅在鼠标悬停在绘制的线条上时才会触发。如何使表单在透明时捕获鼠标事件? (只有鼠标移动,我希望表单仍然可以点击)
【问题讨论】: