comboBox的DataSource绑定list,list值改变

wym408 2012-03-08 05:22:34
我用comboBox 帮定一个list<string>:list1
点下button list1的值改变后,comboBox的可选值没有变。
什么原因?
要是我new 一个list2,不给list2加值,点下button 后
可选值变了,comboBox 的Text值没变?求解释

代码如下:
List<string> list1 = new List<string> { "1", "2" };
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
comboBox1.DataSource = list1;
}

private void button2_Click(object sender, EventArgs e)
{
list.Add("5");
comboBox1.DataSource = list1;
}

private void button_Click(object sender, EventArgs e)
{
List<string> list2=new List<string>();
comboBox1.DataSource = list2;
}
...全文
294 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wym408 2012-03-09
  • 打赏
  • 举报
回复
自己顶一把。谢谢楼上的兄弟们!
stonespace 2012-03-08
  • 打赏
  • 举报
回复
除非你直接调用ComboBox1.SelectedValue=xxx;

这样text才会变化,
stonespace 2012-03-08
  • 打赏
  • 举报
回复
comboBox 的Text值是独立于选项的,改变选项不会改变text,
stonespace 2012-03-08
  • 打赏
  • 举报
回复
你只需要重新赋值:

comboBox1.DataSource = list1;

comboBox1的可选列表就会改变,可以这样:

comboBox1.DataSource = null;

//改变list1的代码
...
comboBox1.DataSource = list1;

EnForGrass 2012-03-08
  • 打赏
  • 举报
回复
private void button2_Click(object sender, EventArgs e)
{
list1.Add("5");
comboBox1.DataSource = list1;
}
重新绑定了会变得

110,567

社区成员

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

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

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