我有一個MDI窗體窗體應用程序,我的子窗體大多都有「確定」和「取消」按鈕。但是我不想用ENTER/ESC鍵激活它們以防止意外的保存/中止。所以,窗體的AcceptButton和CancelButton都設置爲none。 ESC按鈕確實沒有任何作用,但ENTER按鈕仍然通過「點擊」找到的第一個按鈕來關閉窗體,按TabOrder排序。將AcceptButton設置爲None仍然關閉ENTER上的表單
這是爲什麼?我真的應該開始做解決方法並捕獲ENTER鍵嗎?
加:好吧,這是方式怪異的。 Reflector告訴我,如果Tab Order的第一個控件(當然,窗體打開時默認爲活動的控件)是一個按鈕,那麼它將被指定爲默認控件。否則沒有任何反應現在問題變成:WTF?
不,不是的。即使選擇了另一個控件,ENTER鍵仍然有效。正如我所說 - 它實際上做了窗體的**默認**按鈕(這意味着「用戶按下ENTER時被按下的按鈕」)。 – 2010-03-24 09:43:41