gpt4 book ai didi

c# - 如何将点击事件处理程序分配给绘制矩形的一部分?

转载 作者:太空狗 更新时间:2023-10-30 01:12:27 25 4
gpt4 key购买 nike

假设我使用 .NET 图形类绘制一个矩形。

然后我如何分配一个事件,以便在用户单击某个点或某个点范围时发生某些事情(单击事件处理程序)?

我正在通过 C# 和事件部分阅读 CLR,我从阅读的内容中想到了这个场景。

这方面的代码示例确实可以提高我对 C#/.NET 中事件的理解。

谢谢

最佳答案

您可以分配 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();
}
}

关于c# - 如何将点击事件处理程序分配给绘制矩形的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/361592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com