左右两个列表。从数据库库中读取数据到左边列表框中,并且显示。通过逐个添加、全部添加到右边列表框,且能从右边列表框中的数据能逐个删除和全部删除。
界面如下:
如果要能从列表中使用shift,ctrl等选中多个数据,那么可以设置列表框的属性selectMode为MultiSimple或者
MultiExtend。你也可以加一行代码实现:this.listBox1.SelectionMode = SelectionMOde.MultiSimple;
代码如下:
private void add_one_Click(object sender, EventArgs e)
{
int index = listBox1.SelectedIndex;//得到列表框中数据项的索引
if (index < 0)
{
MessageBox.Show("请选择门禁");
}
else
{
ListBox.SelectedObjectCollection obj = listBox1.SelectedItems;//通过选择的索引得到相应的数据项
for (int i = 0; i < obj.Count; i++)
{
if (!listBox2.Items.Contains(obj[i].ToString())) //判断右边的列表框中是否已经包含所选数据,防止重复添加。
{
listBox2.Items.Add(obj[i].ToString());//循环将左边列表框中的数据添加到右边列表框中
}
}
}
}
private void add_all_Click(object sender, EventArgs e)
{
//ListBox.SelectedObjectCollection obj = listBox1.SelectedItems;
foreach (object item in listBox1.Items)
{
if (!listBox2.Items.Contains(item.ToString()))
{
listBox2.Items.Add(item);
}
}
}
private void del_one_Click(object sender, EventArgs e)
{
if (listBox2.SelectedItems.Count == 0)
{
return;
}
else
{
listBox2.Items.Remove(listBox2.SelectedItem);
}
}
private void del_all_Click(object sender, EventArgs e)
{
listBox2.Items.Clear();
}