簡體   English   中英

如何使用C#Winforms在按鈕單擊事件中獲得組合框選定的值?

[英]How to get combo box selected value in button click event using C# Winforms?

我有一個帶數字的組合框。 我有一個按鈕。 我想獲得組合框的選定值

我嘗試如下

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

產量

Selected value ==

我是winform的新手。

更新

我試過了

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

它不起作用。 甚至沒有帶來文本框的價值。 我認為它沒有帶來任何控制價值

使用Combobox.Text或Combobox.SelectedItem屬性

嘗試這個,

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

使用Combobox的.Text屬性獲取所選值,並使用.selectedindex查找是否選擇了某些值

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

這取決於您如何向組合框添加項目。

SelectedValue僅在使用DataSource情況下有效

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是組合框的可編輯部分中的選定文本。
請注意,如果combobox.DropDownStyle = DropDownStyle.DropDownListcombobox.SelectedText將始終返回空字符串。

簡單易用的解決方案:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM