我是C#小白,今天想用到不手动点击button就能实现click事件,于是查找资料后实现button2的click事件触发button1的click事件
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Reflection;//一定要有
namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//int a;
}
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;
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("任娜");
}
private void button2_Click(object sender, EventArgs e)
{
callOnClick(button1);
}
}
}