2016-01-06 57 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 
    } 
}