Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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#_Function - Fatal编程技术网

C# 使用按钮执行代码,完成后停止

C# 使用按钮执行代码,完成后停止,c#,function,C#,Function,我对C#很陌生,所以这可能不是一个难回答的问题。 我想执行代码,让我们称之为函数,当我按下按钮时开始。 当启动这个函数时,我希望它一直被执行。 当它最终完成时,我想停止该功能。 我该怎么做?或者更好的办法是什么 如果还不清楚我的意思,这里有一个小例子: 按下启动按钮-->开始执行功能: Send “Command_1” If ( “Command_1” has been received) { Send “Command_2” } If ( “Command_2” has b

我对C#很陌生,所以这可能不是一个难回答的问题。 我想执行代码,让我们称之为函数,当我按下按钮时开始。 当启动这个函数时,我希望它一直被执行。 当它最终完成时,我想停止该功能。 我该怎么做?或者更好的办法是什么

如果还不清楚我的意思,这里有一个小例子:

按下启动按钮-->开始执行功能:

Send “Command_1”
If ( “Command_1” has been received) 
{   
    Send “Command_2”
} 

If ( “Command_2” has been received) 
{   
    Close function
} 

您可以使用BackgroundWorker来实现它。请参阅:

您可以使用后台工作程序来解决isse问题

BackgroundWorker bw = new BackgroundWorker();
            bw.DoWork += new DoWorkEventHandler(bw_DoWork);
            bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);

            bw.RunWorkerAsync();

调用bw.RunWorkerAsync()时;bw.DoWork将自动执行,并且在完成方法执行之后bw\u runworker completed将执行您可以做的是创建一个计时器对象,并将勾号事件处理程序设置为您的方法,只需单击按钮即可启用计时器,单击其他一些按钮即可禁用计时器只要定时器被启用,函数(由您定义)就会继续运行。

:请详细说明您的问题当您的函数完成执行后,它将自动“停止”。你不需要再按一个按钮。然而,如果您希望您的函数在循环中无限期地继续,直到按下一个按钮,那么
BackgroundWorker
组件就是您的朋友。