一、基本的调用方法
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");
{
button1.PerformClick();// 开启button1的click事件并执行,,和你用鼠标点击这个按钮执行的代码一样
}
{
// 触发button-click事件
button1.PerformClick();
}
{
Button1_Click(sender,e);
}