winfrom如何自定义一个TextBox右侧带按钮的控件,From1窗体使用此控件可以在From1里添加自定义控件的按钮点击事件
时间: 2024-03-22 17:39:14 浏览: 33
要自定义一个TextBox右侧带按钮的控件,可以继承自TextBox并添加一个Button控件。
以下是一个简单的自定义控件代码示例:
```c#
public class TextBoxWithButton : TextBox
{
private Button button;
public TextBoxWithButton()
{
button = new Button();
button.Text = "Button";
button.Dock = DockStyle.Right;
button.Click += Button_Click;
this.Controls.Add(button);
}
private void Button_Click(object sender, EventArgs e)
{
// 触发按钮点击事件
OnButtonClicked(EventArgs.Empty);
}
// 自定义的按钮点击事件
public event EventHandler ButtonClicked;
protected virtual void OnButtonClicked(EventArgs e)
{
ButtonClicked?.Invoke(this, e);
}
}
```
在Form1中使用自定义控件,可以通过订阅ButtonClicked事件来处理按钮点击事件。例如:
```c#
private void textBoxWithButton1_ButtonClicked(object sender, EventArgs e)
{
MessageBox.Show("Button clicked!");
}
```
要在Form1中使用自定义控件,可以在设计器中将TextBoxWithButton拖拽到Form1中,并订阅ButtonClicked事件。例如:
```c#
private void Form1_Load(object sender, EventArgs e)
{
textBoxWithButton1.ButtonClicked += textBoxWithButton1_ButtonClicked;
}
```