Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
提升按钮(或任何控件)手动单击事件。C#_C#_.net_Winforms_Events_Click - Fatal编程技术网

提升按钮(或任何控件)手动单击事件。C#

提升按钮(或任何控件)手动单击事件。C#,c#,.net,winforms,events,click,C#,.net,Winforms,Events,Click,有人能告诉我如何引发按钮控件的点击事件(或任何事件的点击事件)吗 平台:.net 2.0/3.0/3.5 语言:c# 域:Windows应用程序、WinForms等。您可以使用该方法。您还可以查看Windows可访问性或某些UI自动化框架,这些框架允许您通过编程方式使UI控件响应用户手势。如果一个控件不提供一种方式来以编程方式触发它的事件(如PerformClick),那么您可以从该控件派生并公开一个公共方法(如PerformXXX),当在内部调用该方法时,它将调用订阅给特定事件的事件处理程序。

有人能告诉我如何引发按钮控件的点击事件(或任何事件的点击事件)吗

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

您可以使用该方法。

您还可以查看Windows可访问性或某些UI自动化框架,这些框架允许您通过编程方式使UI控件响应用户手势。如果一个控件不提供一种方式来以编程方式触发它的事件(如PerformClick),那么您可以从该控件派生并公开一个公共方法(如PerformXXX),当在内部调用该方法时,它将调用订阅给特定事件的事件处理程序。

也许解决方案要简单得多:

也许你真的不想让你的代码“点击按钮”。
是否只想从表单中的另一个位置运行按钮后面的代码


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

单击按钮并手动新建我的窗口
前任。。dital.cs打开may窗口

我不认为从设计角度来看发送click事件是最好的方法,因为您只是让事件处理程序调用另一个函数。这样,您就可以随时访问该功能

所以

void myEventHandler(发送消息O、事件e的对象) {

MyOtherFunction()

//如果您愿意,请在活动结束后消费该活动


}

+1。对于任何其他事件,事件结构都是专门设计的,以使事件的所有者成为唯一能够直接调用它的对象。Button类公开PerformClick以允许您模拟单击,但并非所有事件都有此功能(有充分的理由)。这是使用自定义控件时的惯用方法。:)