自定义组合控件

创建一个winform 项目。

同一个类中。创建一个用户控件类 创建一个组合搜索框控件。

 

// 创建完成后,在 工具栏中选择 工具 ---选项 ---windows窗体设计器---右侧 工具箱--自动填充工具箱 选择为true.

关闭主程序设计页面,重新生成解决方案。就可以使用自定义控件了。

为空间添加自定义属性。

// 在用户控件类中
public partial class searchBox : UserControl
{
public searchBox()
{
InitializeComponent();

}
// 自定义属性 特性是给编译器看的。
[Browsable(true)] // 注解 默认属性显示在属性面板中
//[Category("")] // 告诉编译器该属性显示在哪一栏中 ,例如外观 数据等。
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] // 是否自动生成代码
public string SearchText
{

set {

search_textBox.Text = value;
}
get {
return search_textBox.Text;
}
}

关闭主程序设计页面,重新生成解决方案。就可以使用自定义属性了。

 

为自定义控件添加事件。

  


// 为自定义控件添加事件

form1 类中添加代码
searchBox.search_btn.Click += new EventHandler(search_btn_Click);
}
// 搜索框点击事件
private void search_btn_Click(object sender, EventArgs e)
{
// MessageBox.Show("开始搜索123");
}

 

 

为自定义控件添加自定义事件

//   自定义事件  // 在用户控件类中
public event EventHandler searchEvent;
public void search_btn_Click(object sender, EventArgs e) {
if (searchEvent != null) {
searchEvent.Invoke(this,e);
}

}

打开用户控件类的设计页面。选中控件。选择事件 选择click 事件。选择上面定义的事件。

关闭主程序设计页面,重新生成解决方案。重新打开form1 设计页面,在事件列表中找到searchEvent 事件  输入定义的触发事件

searchEvent   = searchBox_searchEvent;


private void searchBox_searchEvent(object sender, EventArgs e)
{
MessageBox.Show("开始搜索123");
}
}

searchEvent 

posted @ 2022-03-25 23:23  我是锤子  阅读(128)  评论(0编辑  收藏  举报