2013-06-18 111 views
0

我跳上了关于列表框“选择”的问题 我已经搜索了一些围绕此主题,但我没有找到我正在寻找的答案。 我是面向对象编程,我想尽可能少用代码,所以它必须是“不大”的代码。列表框选择“同步”

我有2个列表框,当我在任何列表框选择的项目中,先前选择的项目得是未选..有 所以只能1种选择,当我在选择列表框1成才,并且在该列表框后成才2,它得到“取消选择”listbox1,所以我想选择“同步”彼此。

我希望我是清楚的,问我,如果你需要的正手 Ricje20

- 编辑 -

我还没有完成的xD一些更多的信息:)

感谢 我可以让它,以便我可以说(例如)下面的代码 selectedListbox.SelectedIndex或类似的东西? 我需要更换listBox1中,以“选择列表框” 由“所选择的列表框”我的意思是其中一个项目被选择列表框

字符串文件2 = files2 [listBox1.SelectedIndex];

回答

2

我会为两个Listbox实现“SelectedItem_Changed”事件。然后使用全局布尔变量来区分一个列表框的某个项是否已被选中。如果listbox1的项目已被选中,我会清除listBox1中的选择,然后从listBox2中选择项目。

EDIT

private bool itemSelected = false; 

private void listBox1_SelectedItemChanged(object sender, EventArg e) 
{ 
    if(itemSelected == false) 
    { 
     // select the item of listBox1 
     itemSelected = true; 
    } 
    else 
    { 
     // Clear items of listBox2 
     itemSelected = false; 
    } 
} 

private void listBox2_SelectedItemChanged(object sender, EventArg e) 
{ 
    if(itemSelected == false) 
    { 
     // select the item of listBox2 
     itemSelected = true; 
    } 
    else 
    { 
      // Clear items of listBox1 
      itemSelected = false; 
    } 
} 

该代码是不是在所有测试。所以你可能会修复if-else条件

+0

你能举一个小例子吗? 〜谢谢你的回答 – Ricje20

0
listBox1.DataSource = new string[] { "AAAA", "BBBB", "CCCC", "DDDD", "EEEE" }; 
listBox2.DataSource = new string[] { "AAAA", "BBBB", "CCCC", "DDDD", "EEEE" }; 

// inline event handlers 
listBox1.Click += (s,e)=>{ 
listBox2.SelectedIndex = -1; 
}; 

listBox2.Click += (s,e) => 
{ 
listBox1.SelectedIndex = -1; 
}; 

问候。

+0

几乎在那里!谢谢 – Ricje20