c# 绘制矩形并注册点击事件
时间: 2024-09-06 15:04:47 浏览: 59
WinForm在PictrueBox控件上建立矩形选框裁剪图片
在C#中,你可以使用Windows Forms或WPF等图形用户界面库来绘制矩形并为其添加点击事件。这里以Windows Forms为例:
```csharp
using System;
using System.Windows.Forms;
public class MainForm : Form
{
private RectangleShape rectangle; // 存储矩形的对象
public MainForm()
{
// 创建一个新的矩形对象
rectangle = new RectangleShape();
rectangle.Width = 100; // 宽度
rectangle.Height = 50; // 高度
rectangle.Location = new Point(50, 50); // x,y坐标
// 将矩形添加到窗体上
Controls.Add(rectangle);
// 注册点击事件
rectangle.Click += OnRectangleClick;
}
// 矩形点击事件的处理方法
private void OnRectangleClick(object sender, EventArgs e)
{
RectangleShape clickedRect = (RectangleShape)sender;
Console.WriteLine($"矩形({clickedRect.Location.X},{clickedRect.Location.Y}) 被点击了");
}
}
// 用户自定义的矩形类
public class RectangleShape : Control
{
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
using (Pen pen = new Pen(Color.Black))
{
e.Graphics.DrawRectangle(pen, ClientRectangle);
}
}
}
```
在这个例子中,我们创建了一个`RectangleShape`子类,并重写了其`OnPaint`方法用于在屏幕上画出矩形。然后在`MainForm`中实例化这个矩形,并注册它的`Click`事件,当矩形被点击时会调用`OnRectangleClick`方法。
阅读全文