如何用C#代码触发button-click事件

2025-09-29 04:20:57

一、基本的调用方法

1、button1.PerformClick();

2、button1_Click(null,null);

3、button_Click(null,new EventArgs());

二、利用反射调用

//建立一个函数  

private void callOnClick(Button btn)  

{  

//建立一个类型  

Type t = typeof(Button);  

//参数对象  

object[] p = new object[1];  

//产生方法  

MethodInfo m = t.GetMethod("OnClick", BindingFlags.NonPublic | BindingFlags.Instance);  

//参数赋值。传入函数  

p[0] = EventArgs.Empty;  

//调用  

m.Invoke(btn, p);  

return;  

}  

(此处空一行)

//调用例子。  

//调用Button1的onclick  

callOnClick(Button1);  

(此处空一行)

//调用Button5的onclick  

callOnClick(Button5);

如何用C#代码触发button-click事件

扩展资料:

除了上述的button-click事件,还可以调用更多的事件

private void callButtonEvent(Button btn, string EventName)  

{     

//建立一个类型      

Type t = typeof(Button);  

//参数对象      

object[] p = new object[1];  

//产生方法      

MethodInfo m = t.GetMethod(EventName, BindingFlags.NonPublic | BindingFlags.Instance);  

//参数赋值。传入函数      

//获得参数资料  

ParameterInfo[] para =  m.GetParameters();  

//根据参数的名字,拿参数的空值。  

p[0] = Type.GetType(para[0].ParameterType.BaseType.FullName).GetProperty("Empty");  

//调用      

m.Invoke(btn, p);  

return;  

}  

(此处空一行)

//调用例子。  

//调用Button1的onclick  

callButtonEvent(Button1,"OnClick");  

(此处空一行)

//调用Button5的OnKeyPress  

callButtonEvent(Button5,"OnKeyPress");

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢