2010-10-07 48 views
1

我有winform按鈕,當您加載窗體時,會選擇某個按鈕。我選擇的意思是,如果按下「enter」,則按下按鈕。自動選擇按鈕(如何關閉它?)

我該如何改變我的按鈕,使他們不再這樣做?

+0

這不是「某些按鈕」..它的「某個按鈕」。 :) – Nayan 2010-10-07 18:19:17

+0

讓我修復 – sooprise 2010-10-07 18:30:03

回答

0

Element.Select()是爲我工作的。

1

您需要設置acceptbutton形式。

+0

AcceptButton設置爲(無),是否還有其他可能導致此問題的東西? – sooprise 2010-10-07 18:11:46

+0

嗯,你是否在使用任何複合或第三方控件。 – rerun 2010-10-07 18:12:35

+0

我只是在Visual Studio中從頭開始構建WinForms。是的,奇怪的是,如果我設置AcceptButton,我可以看到它在我的編輯器中設置(按鈕被選中),當我將它設置回(none)時沒有選擇按鈕,但是當我運行我的程序時,按鈕是當他們不應該被選中時... – sooprise 2010-10-07 18:15:21

3

你的Tab鍵順序在其中您在窗體上添加控件的順序設置。如果您可以按下/選擇/編輯的第一個控件是正在按下的按鈕,則表單加載時焦點將自動置於該按鈕上。

您可以通過設置焦點其他一些控制作弊(也許這是不可見的?!提示*提示!),以避免按鈕,在第一選擇。

而且還確保THT按鈕不是形式的AcceptButton。

+0

更改TabIndex不會幫助我的問題,我會嘗試手動設置焦點,謝謝! – sooprise 2010-10-07 18:19:34

+0

TabIndex是一件複雜的事情。如果您嘗試在屬性中手動編輯它,即使這樣也不能保證它應該工作。最好的方法是在Visual Studio的「編輯」菜單中啓用「製表順序」,然後按照您希望控制的順序開始點擊。 – Nayan 2010-10-07 18:22:40

1

兩個概念已經被拿煙並重新運行談到:

1)的AcceptButton 2)Tab順序

還有一個我想補充,然後試圖解釋的三件事情是如何關聯:

3)焦點

焦點意味着子控件具有「鍵盤焦點」。當控件擁有焦點時,它會接收鍵盤輸入並可以對其進行響應。通過鼠標點擊控件或使用Tab鍵來改變焦點。

Tab順序是在其中控制被按下Tab鍵時接收焦點的順序。它也決定了最初控制的焦點(第一個按標籤順序)。

AcceptButton概念有點雜亂。如果表單的AcceptButton屬性設置爲按鈕控件,則當用戶按下Enter鍵時,該按鈕被按下,而焦點位於任何不處理回車鍵本身的控件上。通常,窗體上的「確定」按鈕被設置爲AcceptButton,以便用戶可以輸入數據並按Enter鍵作爲按下「確定」按鈕的快捷方式。

+0

heheh ..我提到的焦點太)=)) – Nayan 2010-10-08 04:46:41

+0

你知道..我的意思是要把每一個綁定到他們如何影響每個控件的選定外觀,但我完全沒有完成。由於OP似乎已經發布了自己的答案,所以我不打算完成它。 – Tergiver 2010-10-08 12:56:31