combobox中value的添加?好象很难?

samson_www 2007-02-05 11:06:40
使用combobox.items.add('wyyy')可以添加项目text,但是我想添加它的value该如何操作呢?
...全文
538 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
贫僧又回来了 2008-06-15
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wlzl130 的回复:]
做一个图书管理系统,用到了combobox,
天呀,竟然不能像DropDownList那样直接使用键值对的方式
百度了半天,终于找到方法,发出来大家共享
用DataTable可以!但是总不能象男,女这样两项也用一个DataTable吧, 这也太麻烦了啊!
用Hashtable,SortedList直接添加键值对都报错了!
经过我多方的考究,最后终于搞定了,就用ArrayList就可以了!
代码可以这样写!
ArrayList mylist = new ArrayList();
mylist.A…
[/Quote]
bluery 2008-06-15
  • 打赏
  • 举报
回复
谢谢8F兄弟
wlzl130 2008-03-10
  • 打赏
  • 举报
回复
做一个图书管理系统,用到了combobox,
天呀,竟然不能像DropDownList那样直接使用键值对的方式
百度了半天,终于找到方法,发出来大家共享
用DataTable可以!但是总不能象男,女这样两项也用一个DataTable吧, 这也太麻烦了啊!
用Hashtable,SortedList直接添加键值对都报错了!
经过我多方的考究,最后终于搞定了,就用ArrayList就可以了!
代码可以这样写!
ArrayList mylist = new ArrayList();
mylist.Add (new DictionaryEntry ("1","坏"));
mylist.Add (new DictionaryEntry ("2","不好"));
mylist.Add (new DictionaryEntry ("3","一般"));
mylist.Add (new DictionaryEntry ("4","好"));
mylist.Add (new DictionaryEntry ("5","太好了"));
comboBox1.DataSource =mylist;
comboBox1.DisplayMember ="Value";
comboBox1.ValueMember ="Key";

转自:http://hi.baidu.com/twmp/blog/item/11d2e7340b379eb3d1a2d334.html
Johnliuqiang 2007-02-05
  • 打赏
  • 举报
回复
Winform中combobox的每个Item可以是一个String或一个其它的对象.
如果是自定义对象,那么显示出来的文字是该对象ToString()方法输出的内容。
那么这个对象的全部属性都可以做为combobox的其它可用值了。
lqwxfdwj 2007-02-05
  • 打赏
  • 举报
回复
参考:
http://ehuae.blog.163.com/blog/getBlog.do?bid=_fks_rbEyhMMw3n2pMhUl2PwYOOvqLLdvqNSs
sdl2005lyx 2007-02-05
  • 打赏
  • 举报
回复
lz:你的意思是这样的吧:

public struct AA
{
public string str;
public int value;
}

private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
AA aa = new AA();
aa.str = "序号:" + i.ToString();
aa.value = i;
comboBox1.Items.Add(aa);
}
}

程序编译没有问题,运行也不会报错,而且每一项的值都是正确的,但实际应用是有问题的的(它不会显示"序号:" + i.ToString()),你试试就会知道,问题出在: comboBox1.Items.Add(aa);
虽然Add的参数是object,但combobox设计的目的是显示“一列”的值,有点类似数据库表的一列,所以你把两列的值强制放在一起,它根本就不会显示出来。要实行多列这种需求,其实也很简单:你只需先把所有的值存放到一个集合里(ArrayList),然后comboBox1.Items.Add("序号:" + i.ToString());(填充任一列都行),最后在combobox的SelectedIndexChanged 事件里得到相应索引,根据这个索引直接从ArrayList取值即可。。。。
samson_www 2007-02-05
  • 打赏
  • 举报
回复
是在winform中
samson_www 2007-02-05
  • 打赏
  • 举报
回复
combobox.items.value.add('wyyy')
好像不支持吧!
Red_angelX 2007-02-05
  • 打赏
  • 举报
回复
combobox.items[Index].Value = xxx;
jcyluck 2007-02-05
  • 打赏
  • 举报
回复
combobox.items.value.add('wyyy')

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧