2017-08-19 24 views
2

我有一個有數字的組合框。我有一個按鈕。我希望得到組合框的設定值的如何使用C#Winforms獲取按鈕單擊事件中的組合框選定值?

我試着像下面

Messagebox.show("Selected value =="+cbWeeksFrom.SelectedValue); 

輸出

Selected value == 

我是新來的WinForms。

更新

我試圖

cbWeeksFrom.SelectedValue 
cbWeeksFrom.Text 
cbWeeksFrom.SelectedText 
cbWeeksFrom.SelectedItem 

它不工作。甚至沒有帶來文本框的價值。我認爲這是不攜帶任何控制值

+0

如果使用'cbWeeksFrom.SelectedIndex',會發生什麼? – mjwills

回答

0

簡單易用的解決方案:

string selectedValue = cbWeeksFrom.Text; 
    Messagebox.show("Selected value == " + selectedValue); 
1

使用Combobox.Text或Combobox.SelectedItem性質

+0

我試過了。但我沒有得到輸出 –

+0

你可以通過提供代碼中的其他部分來擴展你的問題嗎? – EsnEzz

1

試試這個,

ComboBoxItem current = (ComboBoxItem)cbWeeksFrom.SelectedItem; 
string item =current.Content.ToString(); 
1

使用。文本屬性Combobox獲取選定值並使用.selectedindex查找某個值是否被選中

if (cbWeeksFrom.SelectedIndex != -1) 
     {     
      MessageBox.Show("Selected value == " + cbWeeksFrom.Text); 
     } 
     else 
     { 
      MessageBox.Show("please select a value"); 
     } 
1

這取決於你如何將項目添加到組合框。

的SelectedValueDataSource使用

var numbers = new List<int> { 1, 2, 3, 4, 5 }; 
combobox.DataSource = numbers; 

// on button click 
MessageBox.Show($"Selected value is {combobox.SelectedValue}"); 

的SelectedItem應在任何情況下工作,除非是在情況只會在情況下工作,其中,其不存在於用戶輸入數(在組合框的編輯部分)所述combobox.Items

combobox.Items.AddRange(new object[] { 1, 2, 3, 4, 5}); 

// user input "7" in combobox 
combobox.SelectedItem // will return null 

SelectedText被選擇的TE xt在ComboBox的可編輯部分。
請注意,如果combobox.DropDownStyle = DropDownStyle.DropDownList,那麼combobox.SelectedText將始終返回空字符串。

相關問題