2016-01-06 181 views
0

想要做一个while循环谁只会在按钮单击后才转发迭代。 例如:C#WPF while while循环等待按钮单击

int buttonclick = 0; 
    while (buttonclick < 30) 
    { 
     buttonclick++; 
     Next_click; 
    } 

Next_click是单击事件处理程序。

+5

其实你想什么来实现的,在这个片段中 –

+1

创建整数类型的全局类变量。然后在点击事件处理程序中检查该整数的值是否小于最大值,做些事情并增加它。这样你就不需要'while'循环。 – Alex

+0

如果您提供了有问题的XAML前端,它当然可以帮助我们 – jyrkim

回答

0

首先,你需要在不同的线程中运行循环或使用await。我会建议只使用一个新的线程。然后添加一个AutoResetEvent到类:

AutoResetEvent are = new AutoResetEvent(false); 

然后你are.WaitOne()替换Next_click。 然后,您为您的按钮clickHandler事件,并把这个代码在它:

are.Set(); 
1

创建一个全局变量:

private int _buttonclick = 0; 

创建按钮单击事件:

private void Button_Click(object sender, RoutedEventArgs e) 
{ 

} 

Button_Click事件增量_buttonclick和检查_buttonClick >= 30

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    _buttonclick++; 

    if(_buttonclick >= 30) { 
     // code here 
    } 
}