C# WinForm UserControl模拟Form的AcceptButton功能
很多UserControl程序使用当中,用户经常会输入数值后执行回车直接提交操作。比如查询,输入查询条件后直接回车,用户希望看到的是查询结果,而不用再点击查询按钮,但是 UserControl是没有AcceptButton属性的,即不能指定回车后触发的按钮。
方法一、修改按钮属性为pulic
在属性窗口中修改UserControl指定Button的modifier为pulic,然后设置所在窗体的AcceptButton为UserControl上的按钮。
或者在代码中修改,即在uc.Designer.cs中修改
//相当于在属性窗口修改modifier //默认情况 //private DevExpress.XtraEditors.SimpleButton btnQuery; //修改为public public DevExpress.XtraEditors.SimpleButton btnQuery;
Form中设置为UC的按钮即可
//form_load事件中,加载完uc以后,指定AcceptButton this.AcceptButton = uc.btnQuery;
方法二、委托
1、首先定义一个Button
Button btn;
2、在UserControl_Load事件当中,添加:
btn = new Button(); btn.Click += new EventHandler(tbcQuery_Commanded); if (this.TopLevelControl is Form)((Form)this.TopLevelControl).AcceptButton = this.btn;
注:tbcQuery_Commanded为查询按钮事件
版权声明:本博原创文章可以被转载,但是在未经本人许可前,不得用于任何商业用途或其他以盈利为目的的用途。如需转载,请在转载时声明作者、保留出处。本人保留对本文的一切权利。
作者:AllenRobin Blog:http://gisrsman.cnblogs.com