[英]How to disable double click on winform button?
我不想讓用戶雙擊我的按鈕。 在第一次單擊時,它應該被禁用,一旦我的代碼被執行,我應該啟用該按鈕。 怎么做 ?
試試這個:
button.Enabled = false;
....... do main processing here ............
Thread.Sleep(1000);
Application.DoEvents();
button.Enabled = true;
在OnClick
事件處理程序中,將第一個語句button.Enabled = false;
並且最后一個語句是一個button.Enabled = true;
。
假設這是一個你正在談論的winform,一旦你禁用了按鈕,附加到它的事件就不會觸發。 (如果我從經驗中記得正確)
解決這個問題的方法是有2個按鈕,一個啟用,一個禁用。 當用戶單擊第一個按鈕時,您可以隱藏它並顯示已禁用的按鈕,使其看起來像是禁用了相同的按鈕。
然后,當您完成代碼執行后,只需重新顯示第一個按鈕並重新隱藏第二個按鈕。
在mouseClick事件中使myButton.Enabled = false,並在代碼結束時將其設為true
據我所知,您打算這樣做的唯一目的是阻止相同的代碼執行兩次。
為什么不在處理程序方法中使用類級布爾變量。
如果設置了變量,則調用將返回,否則代碼將被執行 - 最終重置布爾變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.