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

if (i==1){ 触发button-click事件;}代码怎么写?
2025-01-08 12:08:53
推荐回答(2个)
回答1:

一、基本的调用方法

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);

扩展资料:

除了上述的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");

回答2:

if (i == 1)
{
button1.PerformClick();// 开启button1的click事件并执行,,和你用鼠标点击这个按钮执行的代码一样
}