C#如何自写控件
时间: 2023-07-12 13:08:18 浏览: 100
C#开发控件全过程记录
C#中自定义控件主要包含以下两个步骤:
1. 继承Control类或其子类,重写父类的方法,实现自己的控件逻辑。
2. 在自定义控件中添加必要的属性、方法和事件,以便外部调用和使用。
下面是一个简单的自定义控件的示例:
```csharp
using System;
using System.Windows.Forms;
// 继承 Control 类
public class MyControl : Control
{
// 重写 OnPaint 方法,实现自己的绘制逻辑
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
// 绘制一个矩形
e.Graphics.DrawRectangle(Pens.Black, 0, 0, Width - 1, Height - 1);
}
// 添加一个自定义属性
public string TextValue { get; set; }
// 添加一个自定义事件
public event EventHandler MyClick;
// 重写 OnMouseClick 方法,实现自己的点击事件
protected override void OnMouseClick(MouseEventArgs e)
{
base.OnMouseClick(e);
// 触发自定义事件
MyClick?.Invoke(this, EventArgs.Empty);
}
}
```
这个自定义控件继承自Control类,重写了OnPaint方法实现自己的绘制逻辑,添加了一个自定义属性TextValue和一个自定义事件MyClick,并重写了OnMouseClick方法实现自己的点击事件。在使用时,可以像使用其他控件一样使用它:
```csharp
MyControl myControl = new MyControl();
myControl.TextValue = "Hello, world!";
myControl.MyClick += MyControl_MyClick;
// 将自定义控件添加到窗体中
Controls.Add(myControl);
```
其中,MyControl_MyClick是自定义事件的处理方法。
阅读全文