我的ChildWindow
有CloseButton和處理程序分配給Click
事件。代碼(例如只):ChildWindow關閉按鈕事件處理程序執行多次,如果它快速點擊很多次
聲明關閉按鈕:
<Button x:Name="CloseButton" Click="OnCloseButtonClick" />
私人計數器(用於診斷的問題):
private uint _i;
關閉事件處理程序:
OnCloseButtonClick(object sender, RoutedEventArgs e)
{
DialogResult = true;
System.Diagnostics.Debug(_i++);
}
後快點擊程序可以輸出「1」,「2」,「3」等等...... 正如我知道的setti ng DialogResult
= true
(或false
),應該關閉ChildWindow,並且應該沒有任何方法可以第二次提高CloseButton的事件Click
。
任何人都可以幫助我找出問題的原因,並幫助解決它沒有布爾標誌(執行/!執行)?
我把它添加第一行'((Button)sender).IsEnabled = false'不是一個解決方案嗎? –
是的,它是。但它看起來像解決方法。我也想知道問題的原因。 –
我認爲沒有問題。一個按鈕可以被多次點擊,當你不希望它被點擊時,它可以禁用按鈕 – Jehof