2010-03-21 68 views
0

窗體中的組合框(模式對話框)在單擊時不會打開,但可以使用上/下箭頭鍵選擇項目。 單擊另一個窗口並在對話框中顯示後面,ComboBox按預期工作,即單擊時展開。Winforms ComboBox在點擊時不會展開,有什麼想法?

奇怪......任何想法可能會導致這種行爲?

非常感謝提前, 彼得

編輯: 組合框是由編譯時創建的,而是由運行時填充。

無效組合框和封閉形式並沒有幫助。

繼亨克的建議下,我嘗試使用設計,從而導致完全相同的代碼現有的組合框具有添加新的組合框。新的組合框工作正常空當,但只要通過編程設置數據源採用了奇怪的現象...以下是我在做什麼:

comboBox1.DataSource = langs; 
comboBox1.DisplayMember = "NativeName"; 
comboBox1.ValueMember = "Name"; 

langsList<CultureInfo>有兩個條目)

Hmmmm。如果我用任何兩個項目(例如「A」,「B」)預設Items屬性,一切正常。這適用於我,但似乎很奇怪。這是一個錯誤? (不,不是真的,在我這邊有誤解)

+0

後續操作:_where_設置DataSource?也許在OnActivate? – 2010-03-21 17:31:46

+0

這裏的標準診斷是Control.Capture的一個問題。當鼠標被捕獲時,你需要兩次點擊。第一次點擊取消了捕獲。爲什麼它被捕獲完全不清楚你的帖子。 – 2010-03-21 17:39:51

+0

@nobugz:不,這不是點擊兩次的問題。單擊之後(我可以使用箭頭鍵選擇),Combobox將重點關注,但我不會打開只要我沒有關注其中一個元素。 – 2010-03-21 17:52:03

回答

0

改變從1至3的組合框」的TabIndex確實起作用。不要問我爲什麼...: -/

0

也許像OnClick這樣的事件實現了e.handled爲真?

而且,你怎麼插入組合框,運行時或編譯時?如果運行時,也許你錯過了什麼?

+0

感謝您的建議。 不,沒有附加任何事件,只有OnClick的確定按鈕。 comboxbox在編譯時插入(#develop designer),但由運行時填充。 – 2010-03-21 16:34:18

+0

Btw。剛更新數據源後嘗試無效,但這並沒有幫助:( – 2010-03-21 16:36:27

0

你試過拖下拉在設計你的組合框的面積?

0

我遇到了這個確切的問題。我錯誤地將所有選項設置爲style =「display:none」。這並不明顯,因爲選中的選項仍然顯示在組合框中,並且我可以使用箭頭鍵導航組合框選項,但是就像peter描述的那樣,單擊下拉箭頭不起作用。 當我刪除顯示:沒有從它正常工作的選項。