ComboBox Item项

 public class ComboBoxItem
        {
            private string _text = null;
            private object _value = null;
            public string Text
            {
                get {
                    return this._text;
                }
                set {
                    this._text = value;
                }
            }
            public object Value
            {
                get { return this._value;
                }
                set { this._value = value;
                }
            }
            public override string ToString()
            {
                return this._text;
            }
        }

 

 

MessageBox.Show((string)((ComboBoxItem)cmbField.SelectedItem).Value);

 

参照:http://realzjy.blog.51cto.com/818594/165556

### 设置和获取 C# ComboBox 控件中的 Item 值 #### 获取 ComboBox 中选定的值 为了从 `ComboBox` 控件中获取当前选中的,可以利用其 `SelectedItem` 或者 `SelectedValue` 属性。如果希望在每次更改选择时自动更新其他控件的内容,则可以通过订阅 `SelectedIndexChanged` 事件来实现这一功能[^2]。 ```csharp private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { // 假设 ComboBox 的 DataSource 是 Language 类型的对象列表, // 并且想要显示所选的语言名称到 TextBox 中。 var selectedItem = (Language)comboBox1.SelectedItem; string languageName = selectedItem.LanguageName; textBox1.Text = languageName; } ``` 上述代码片段展示了如何通过将 `SelectedItem` 转换为目标对象类型(这里假设为 `Language`),进而访问其中的具体成员变量如 `LanguageName` 来获得所需的数据。 #### 向 ComboBox 添加 Items 及设置默认值 向 `ComboBox` 添加条目可通过多种方式完成,最简单的方式是在设计阶段直接输入静态文本;而在程序运行期间动态填充则常采用如下所示的方法: ```csharp // 动态添加单个 itemComboBox comboBox1.Items.Add("Option A"); // 批量添加多个 items 使用 AddRange 方法 string[] options = new string[] {"Option B", "Option C"}; comboBox1.Items.AddRange(options); // 如果要绑定来自数据库的结果集作为数据源,可参照 BindComboBox() 函数[^3] public void BindComboBox() { using (SqlConnection conn = new SqlConnection(connectionString)) { SqlCommand cmd = new SqlCommand(queryString, conn); SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); adapter.Fill(dt); comboBox1.DataSource = dt; comboBox1.DisplayMember = "FieldName"; // 显示给用户的列名 comboBox1.ValueMember = "IdField"; // 实际存储的键值对应的列名 } } // 设定默认选中 comboBox1.SelectedIndex = 0; // 默认第一个元素被选中 ``` 对于已经绑定了数据源的情况,还可以通过修改 `SelectedIndex`, `SelectedValue` 或者调用 `FindStringExact()`/`FindString()` 方法找到特定字符串的位置并将其置为当前选择[^4]。 #### 查找 ComboBox 中匹配的 Item 有时需要根据部分关键字快速定位符合条件的第一,这时就可以借助 `FindString()` 或更严格的 `FindStringExact()` 方法来进行搜索操作: ```csharp int index = comboBox1.FindString("searchTerm"); if(index >= 0){ comboBox1.SelectedIndex = index; }else{ MessageBox.Show("未找到匹配!"); } ``` 这段代码会尝试寻找包含 `"searchTerm"` 字符串的第一个目,并把它标记成已选状态。如果没有发现任何相配的记录,则弹出提示消息告知用户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值