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

if (i==1)
{
触发button-click事件;
}
代码怎么写?

一、基本的调用方法

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

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-18
if (i == 1)
{
button1.PerformClick();// 开启button1的click事件并执行,,和你用鼠标点击这个按钮执行的代码一样
}本回答被网友采纳
第2个回答  2010-05-21
if (i == 1)
{
// 触发button-click事件
button1.PerformClick();
}
第3个回答  2010-05-21
if(i==1)
{
Button1_Click(sender,e);
}本回答被提问者采纳
相似回答