c#调用按钮点击事件

关于c#窗体程序的按钮点击事件,经过这几天的查询资料,现在总结如下:

1、在一个按钮事件中调用另一个按钮(button1)的点击事件,可以直接如下:

    button1.PerformClick()

  也称之为 以编程方式调用按钮的click事件

2、在加载事件里调用button1.click(null, null);

也相当于触发了事件

这里的加载事件,指的是窗体中各个控件按钮的初始化方法, private void InitializeComponent()

3、在Form_load事件中

    在编辑器中直接双击Form添加该事件  protected void Form1_Load(object sender, EventArgs e) 
--------------------- 

原文:https://blog.youkuaiyun.com/u011423435/article/details/21627937 

 


 

C#中,调用按钮事件有多种方法: ### 调用已有按钮点击事件 可以通过反射来调用按钮点击事件。示例代码如下: ```csharp using System; using System.Reflection; using System.Windows.Forms; public static class ButtonClickInvoker { /// <summary> /// 调用按钮点击事件 /// </summary> /// <param name="button">被调用按钮</param> public static void InvokeClick(Button button) { // 建立一个类型 Type type = button.GetType(); // 参数对象 object[] o = new object[1]; // 产生方法 MethodInfo m = type.GetMethod("OnClick", BindingFlags.NonPublic | BindingFlags.Instance); // 参数赋值,传入函数 o[0] = EventArgs.Empty; // 调用 m.Invoke(button, o); return; } } // 调用示例 // 假设存在一个名为Button1的按钮 // InvokeClick(Button1); ``` 以上代码定义了一个静态方法`InvokeClick`,它接受一个`Button`对象作为参数,通过反射调用按钮的`OnClick`方法,从而触发按钮点击事件[^1]。 ### 自定义按钮类并触发事件 可以自定义一个`Button`类,定义`Click`事件并在需要时触发它。示例代码如下: ```csharp using System; public class Button { // 定义一个事件 public event EventHandler Click; // 引发事件的方法 public void OnClick() { if (Click != null) { Click(this, EventArgs.Empty); // 调用事件 } } } public class Program { public static void Main() { Button button = new Button(); // 订阅事件 button.Click += Button_Click; // 引发事件 button.OnClick(); } private static void Button_Click(object sender, EventArgs e) { Console.WriteLine("Button clicked!"); } } ``` 此代码中,自定义了`Button`类,包含`Click`事件和`OnClick`方法,在`Main`方法中订阅事件并调用`OnClick`方法触发事件[^2]。 ### 键盘按键绑定触发按钮事件 在窗体中,可以通过键盘按键绑定来触发按钮事件。示例代码如下: ```csharp using System; using System.Windows.Forms; private void textBoxOne_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { e.Handled = true; this.buttonOne_Click(sender, e); } } ``` 这段代码监听`textBoxOne`的`KeyUp`事件,当按下回车键时,调用`buttonOne_Click`方法,从而触发按钮事件。需要注意的是,要将窗体的`KeyPreview`属性设置为`true` [^4]。 ### 在窗体加载时触发按钮事件 在编辑器中可以直接双击`Form`添加`Form_Load`事件,在该事件中触发按钮事件。示例代码如下: ```csharp protected void Form1_Load(object sender, EventArgs e) { // 可以在这里触发按钮事件 } ``` 在`Form1_Load`事件处理方法中,可以编写代码来触发按钮事件 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值