[英]e.cancel must allow exit button
當用戶在DatagridView單元格中輸入無效值時,我在_CellValidating事件中設置了“ e.Cancel = true”。
似乎e.Cancel也阻止用戶關閉表單或單擊X按鈕,如何向其中添加例外?(即使e.Cancel設置為true,也允許用戶關閉表單)
我只是基於這種情況裝配了一個測試項目,似乎DataGridView
的CellValidating
事件在Form
的Closing
事件之前被調用; 這意味着在驗證單元格時,您將無法知道用戶是否嘗試關閉表單。
嚴格來說,正確的事件順序是讓用戶在允許關閉表單之前在單元格中輸入有效數據(或通過按退出鍵取消編輯)。 但是,如果無論如何都希望關閉該窗體,則可以處理該窗體的Closing
事件:
protected override void OnClosing(CancelEventArgs e) {
e.Cancel = false;
base.OnClosing(e);
}
這是不好的做法,但是會給您您所要求的行為。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.