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;
uc中的代码修改

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为查询按钮事件

引自 C# WinForm 程序UserControl模拟Form的AcceptButton功能

posted @ 2015-12-21 17:03  AllenRobin  阅读(1626)  评论(0编辑  收藏  举报