在执行方法时无法与wpf元素交互

时间:2017-08-17 16:55:53

标签: c# wpf

我用2个按钮创建了一个WPF应用程序。单击执行cmd的第一个按钮并等待命令完成,因为我需要在执行完成后读取结果文件。在第二个按钮上单击我将停止执行cmd by process kill。

但是在启动命令执行后,我无法在完成cmd的执行之前停止执行。

有没有什么方法可以并行执行?

开始按钮代码

string filename = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "nunit-console.exe");
 Process proc = Process.Start(filename, "/result:" + resultFile + ".xml " + fileName);
proc.WaitForExit();

1 个答案:

答案 0 :(得分:0)

只需删除proc.WaitForExit();即可。此行阻止了界面线程,阻止了第二次按钮点击。

    System.Diagnostics.Process proc;

    private void Btn1Click(object sender, RoutedEventArgs e)
    {
        string filename = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "nunit-console.exe");
        proc = Process.Start(filename, "/result:" + resultFile + ".xml " + fileName);
    }

    private void Btn2Click(object sender, RoutedEventArgs e)
    {
        if (proc != null)
            proc.Kill();
    }