如图从左边选择可以多选,然后点击下按钮添加到右边,然后左边的消失。右边同理。一个按钮把左边的全部添加到右边,右边同理。还有个按钮随机排列右边的内容。这样怎么做到?能给个例子吗??
14 个解决方案
#1
你可以先学会捕获点击事件,并且把点击的那个 Item 删除。
#2
从左侧移动到右侧
while( listBox左.SelectedItems.Count>0)
{
listBox右.Items.Add(listBox左.SelectedItems[0]);
listBox左.Items.Remove (listBox左.SelectedItems[0]);
}
#3
这个方法要包括在按钮的点击事件中,就可以了,从右往左移是一样的,就是把左右换一下就行。还有,随机分布选项设定一下items的index就行
#4
listbox2.Items.Add*listbox1.SelectedItem(
#5
可是能多选吗?
#6
可以多选,按shift就可以多选了,或者直接换CheckListBox控件
#7
添加左边listbox的选中项到右边listbox中,移动左边listbox的选中项
#8
一边 add 一边remove
#9
这个界面貌似在VS里面见过。。。
关键点是获取当前选中的项,看看有没有selectedItem之类的属性吧,或者加复选框也行
关键点是获取当前选中的项,看看有没有selectedItem之类的属性吧,或者加复选框也行
#10
没有人写好例子的吗
#11
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
listBox1.SelectionMode = SelectionMode.MultiSimple;
listBox2.SelectionMode = SelectionMode.MultiSimple;
listBox1.Items.Add(1); ;
listBox1.Items.Add(2);
listBox1.Items.Add(3);
listBox1.Items.Add(4);
listBox1.Items.Add(5);
button1.Click += new EventHandler(button_Click);
button2.Click += new EventHandler(button_Click);
button3.Click += new EventHandler(button_Click);
button4.Click += new EventHandler(button_Click);
}
void button_Click(object sender, EventArgs e)
{
switch ((sender as Button).Text)
{
case ">": ItemMove(listBox1, listBox2); break;
case "<": ItemMove(listBox2, listBox1); break;
case ">>": ItemMove(listBox1, listBox2, true); break;
case "<<": ItemMove(listBox2, listBox1, true); break;
}
}
void ItemMove(ListBox a, ListBox b, bool all=false)
{
var st = new ArrayList();
if(all) foreach (var item in a.Items) st.Add(item);
else foreach (var item in a.SelectedItems) st.Add(item);
foreach(var item in st)
{
b.Items.Add(item);
a.Items.Remove(item);
}
}
}
#12
有办法再加个按钮 可以随机排列listbox2的内容吗?
#13
有办法随机排列listbox2的内容吗?
#14
????????????????????能帮忙吗
#1
你可以先学会捕获点击事件,并且把点击的那个 Item 删除。
#2
从左侧移动到右侧
while( listBox左.SelectedItems.Count>0)
{
listBox右.Items.Add(listBox左.SelectedItems[0]);
listBox左.Items.Remove (listBox左.SelectedItems[0]);
}
#3
这个方法要包括在按钮的点击事件中,就可以了,从右往左移是一样的,就是把左右换一下就行。还有,随机分布选项设定一下items的index就行
#4
listbox2.Items.Add*listbox1.SelectedItem(
#5
可是能多选吗?
#6
可以多选,按shift就可以多选了,或者直接换CheckListBox控件
#7
添加左边listbox的选中项到右边listbox中,移动左边listbox的选中项
#8
一边 add 一边remove
#9
这个界面貌似在VS里面见过。。。
关键点是获取当前选中的项,看看有没有selectedItem之类的属性吧,或者加复选框也行
关键点是获取当前选中的项,看看有没有selectedItem之类的属性吧,或者加复选框也行
#10
没有人写好例子的吗
#11
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
listBox1.SelectionMode = SelectionMode.MultiSimple;
listBox2.SelectionMode = SelectionMode.MultiSimple;
listBox1.Items.Add(1); ;
listBox1.Items.Add(2);
listBox1.Items.Add(3);
listBox1.Items.Add(4);
listBox1.Items.Add(5);
button1.Click += new EventHandler(button_Click);
button2.Click += new EventHandler(button_Click);
button3.Click += new EventHandler(button_Click);
button4.Click += new EventHandler(button_Click);
}
void button_Click(object sender, EventArgs e)
{
switch ((sender as Button).Text)
{
case ">": ItemMove(listBox1, listBox2); break;
case "<": ItemMove(listBox2, listBox1); break;
case ">>": ItemMove(listBox1, listBox2, true); break;
case "<<": ItemMove(listBox2, listBox1, true); break;
}
}
void ItemMove(ListBox a, ListBox b, bool all=false)
{
var st = new ArrayList();
if(all) foreach (var item in a.Items) st.Add(item);
else foreach (var item in a.SelectedItems) st.Add(item);
foreach(var item in st)
{
b.Items.Add(item);
a.Items.Remove(item);
}
}
}
#12
有办法再加个按钮 可以随机排列listbox2的内容吗?
#13
有办法随机排列listbox2的内容吗?
#14
????????????????????能帮忙吗