想象一下我使用 .NET 图形类来绘制一个矩形。
然后,我如何分配一个事件,以便如果用户单击某个点或某个点范围,就会发生某些事情(单击事件处理程序)?
我当时正在阅读 CLR via C# 和事件部分,我从所读到的内容中想到了这个场景。
这样的代码示例确实可以提高我对 C#/.NET 中事件的理解。
Thanks
您可以指定 Click 事件处理程序来控制将使用哪个表面来绘制矩形。
这是一个小例子:
当您单击矩形内部的表单时,它将用红色边框绘制,当您单击矩形外部时,它将用黑色边框绘制。
public partial class Form1 : Form
{
private Rectangle rect;
private Pen pen = Pens.Black;
public Form1()
{
InitializeComponent();
rect = new Rectangle(10, 10, Width - 30, Height - 60);
Click += Form1_Click;
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.DrawRectangle(pen, rect);
}
void Form1_Click(object sender, EventArgs e)
{
Point cursorPos = this.PointToClient(Cursor.Position);
if (rect.Contains(cursorPos))
{
pen = Pens.Red;
}
else
{
pen = Pens.Black;
}
Invalidate();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)