WinForm下ComboBox设定SelectedValue总结

本文介绍了在WinForm应用中遇到ComboBox设置SelectedValue时遇到的问题及解决方案。通过三种方法:SetValueByItem、SetValueByValue和SetValueByText,详细展示了如何正确设定ComboBox的选中值,并提供了完整的代码示例。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

最近在项目中处理一个winForm中设定ComboBox值,奇怪的是用一个对象匹配ComboBox的Datasource集合的一个对象时,设置SelectedValue时,竟然得到SelectedValue为null。

网上搜索一下,有说是如果用DateSet绑定时,SelectedValue得到的是null或DataRowView。

后来反复实践,发现可以用以下方法实现:

[c-sharp] view plain copy print ?
  1. private void SetValueByItem()  
  2.         {  
  3.             Area a = new Area();  
  4.             a.Area_ID = "8";  
  5.             a.Area_Name = "第8名";  
  6.             cbList.SelectedItem = ac.FindAll(delegate(Area ar) { return ar.Area_ID == a.Area_ID; })[0];  
  7.             lbResult.Text = cbList.SelectedItem.GetType().ToString() + ":" + cbList.SelectedValue.ToString();  
  8.         }  
private void SetValueByItem()        {            Area a = new Area();            a.Area_ID = "8";            a.Area_Name = "第8名";            cbList.SelectedItem = ac.FindAll(delegate(Area ar) { return ar.Area_ID == a.Area_ID; })[0];            lbResult.Text = cbList.SelectedItem.GetType().ToString() + ":" + cbList.SelectedValue.ToString();        }

其他两种设置方式:

[c-sharp] view plain copy print ?
  1. private void SetValueByValue()  
  2.        {  
  3.            Area a = new Area();  
  4.            a.Area_ID = "8";  
  5.            a.Area_Name = "第8名";  
  6.            cbList.SelectedValue = a.Area_ID;  
  7.            lbResult.Text = cbList.SelectedValue.GetType().ToString() + ":" + cbList.SelectedValue.ToString();  
  8.        }  
private void SetValueByValue()        {            Area a = new Area();            a.Area_ID = "8";            a.Area_Name = "第8名";            cbList.SelectedValue = a.Area_ID;            lbResult.Text = cbList.SelectedValue.GetType().ToString() + ":" + cbList.SelectedValue.ToString();        }

在C#的WinForm中,ComboBoxSelectedValue属性被重写,这样即使没有绑定数据源,也可以使用SelectedValue来获取当前选中项的value值。 要让SelectedValue绑定生效,需要注意三个关键属性:ItemsSource、SelectedValue和DisplayMemberPath。你可以使用ItemsSource来绑定数据源,SelectedValue来获取选中项的值,DisplayMemberPath来设置显示的文本。 举个例子,如果你有一个列表tList,其中包含了Test对象,每个对象都有id和name属性。你可以将tList设置为ComboBox的数据源,然后通过设置DisplayMember属性为"name",ValueMember属性为"id"来分别设置显示的文本和值。当你选择了索引为1的项时,通过读取SelectedValue属性,你会发现SelectedValue的值为0x10,即对应的id值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [C# winformcombobox和listbox控件SelectedValue属性重写](https://download.csdn.net/download/ziyouli/4086797)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [【WPF绑定2】 ComboBox SelectedValue复杂数据类型绑定](https://blog.csdn.net/songhuangong123/article/details/128385878)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [C# ComboBox SelectedText属性和SelectedValue属性理解](https://blog.csdn.net/weixin_42205680/article/details/128346097)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值