2010-03-17 215 views
1

是否有更簡單的方法來獲取組合框(WinForms)選定的項目文本?組合框/列表框選定項目

string result = comboBox1.Items[comboBox1.Selectedindex]; 

而在WPF的ComboBox中?

回答

2

什麼

string result = (string)comboBox1.SelectedItem 

是越來越簡單嗎?

+0

謝謝。我只是認爲這一直沒有正確寫出來 – 2010-03-17 07:18:57

1

不行。而已。

只是爲了興趣,它的什麼部分對你來說並不簡單?

+0

事情是這樣的: 字符串結果= comboBox1.SelectedText; 但它不正確 – 2010-03-17 07:17:10

+0

但這需要數據重複,這是一件壞事。也就是說,編譯器必須生成代碼,以便爲當前字符串維護一個單獨的字符串,並在「Selectedindex發生更改時將相關字符串複製到該字符串中,或​​者(更可能)使用指針來執行此操作,而不是複製串。但無論如何,該系統現在有效地負責維護單個數據的兩個副本。我們都知道那可能導致... – Mawg 2010-03-18 02:09:52

1

關於WPF組合框:我不認爲有一種很好的通用方式來獲取WPF中所選組合框項的文本。 wpf組合框在一個模板中顯示它的項目,它可以是任何東西(例如嵌套在一個堆棧面板內的一些標籤,在一個按鈕等內)。該模板甚至不需要顯示任何文本,它可以例如顯示圖像或完全不同的東西。也就是說,我不認爲在組合框中訪問選定項目的UI內的文本字符串是非常有必要的。這只是用戶的UI,程序應該與選定的對象交互(而不是UI表示)。這可能會有一些例外,但是在這種情況下,您將不得不爲您使用的項目模板制定特定的解決方案,因爲沒有適用於此的解決方案。

2

@ Zenuka的方法工作,但我覺得下面有點「更正確」(避免蒙上如果可能):

String result = comboBox1.SelectedItem.ToString(); 
相關問題