手动触发按钮(或任何控件)的点击事件。C#

11

请问如何触发按钮控件的点击事件(或任何其他事件)。

平台:.net 2.0/3.0/3.5 语言:c# 领域:Windows 应用程序、WinForms 等。

5个回答

20

3
对于任何其他事件,Event 结构被特别设计为使事件的所有者成为唯一能够直接调用它的对象。Button 类公开了 PerformClick 方法以允许您模拟一个点击,但并不是所有事件都会有这个方法(出于很好的原因)。 - Adam Robinson

12

也许解决方案更加简单:

也许你并不是真的想要你的代码“点击按钮”。 你只是想从表单的其他地方运行按钮后面的代码吗?

如果是的话,将代码放入一个单独的方法中(比如“DoActionXXX”),并从按钮和任何需要的地方调用该方法。


当您使用自定义控件时,这是正确的方式。 :) - Cipi

2
你还可以看一下Windows辅助功能或一些UI自动化框架,这些框架允许你通过编程方式使UI控件响应用户手势。如果一个控件没有提供像PerformClick这样的程序触发事件的方法,你可以从该控件派生并公开一个名为PerformnXXX的公共方法,当调用该方法时,它会在内部调用订阅特定事件的事件处理程序。

1

按钮点击并打开新的手动窗口 例如:dital.cs打开五月窗口


0
我认为从设计角度来看,发送点击事件并不是最好的方式,你可以让事件处理程序调用另一个函数。这样,你总是可以访问该函数。
所以...
void myEventHandler(ObjectwhoSentTheMessage O, Event e) { MyOtherFunction(); //如果需要,之后可以消耗事件 }

}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接