自定义组合控件
创建一个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