我做了两个ListBox,在第一个里面有一些字符串,想让它传到第二个ListBox中。可是出现了一些问题,我在传的时候,我一个个传好使。可是当我选择多个的时候就出现问题了,我第一个ListBox中的偶数字符串传不到下一个里面去。代码是下面的
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace WindowsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ }
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBox1.Items.Count; i++)
{
if (listBox1.GetSelected(i))
{
listBox2.Items.Add(listBox1.Items[i]);
listBox1.Items.Remove(listBox1.Items[i]);
}
}
} private void button2_Click(object sender, EventArgs e)
{ for (int i = 0; i < listBox1.Items.Count;i++)
{
listBox2.Items.Add(listBox1.Items[i]);
}
listBox1.Items.Clear();
} private void button3_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBox2.Items.Count; i++)
{ if (listBox2.GetSelected(i))
{
listBox1.Items.Add(listBox2.Items[i]);
listBox2.Items.Remove(listBox2.Items[i]);
} }
} private void button4_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBox2.Items.Count; i++)
{
listBox1.Items.Add(listBox2.Items[i]);
}
listBox2.Items.Clear();
}
}
}例如:在第一个ListBox中有“你、我、他”三个字符串,我全选后,点第一个button只传过去“你、他”,“我”没有传过去,不知道是为什么,
请给小生解释。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace WindowsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ }
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBox1.Items.Count; i++)
{
if (listBox1.GetSelected(i))
{
listBox2.Items.Add(listBox1.Items[i]);
listBox1.Items.Remove(listBox1.Items[i]);
}
}
} private void button2_Click(object sender, EventArgs e)
{ for (int i = 0; i < listBox1.Items.Count;i++)
{
listBox2.Items.Add(listBox1.Items[i]);
}
listBox1.Items.Clear();
} private void button3_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBox2.Items.Count; i++)
{ if (listBox2.GetSelected(i))
{
listBox1.Items.Add(listBox2.Items[i]);
listBox2.Items.Remove(listBox2.Items[i]);
} }
} private void button4_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBox2.Items.Count; i++)
{
listBox1.Items.Add(listBox2.Items[i]);
}
listBox2.Items.Clear();
}
}
}例如:在第一个ListBox中有“你、我、他”三个字符串,我全选后,点第一个button只传过去“你、他”,“我”没有传过去,不知道是为什么,
请给小生解释。
for (int i = 0; i < listBox1.Items.Count; i++)
{
if (listBox1.GetSelected(i))
{
listBox2.Items.Add(listBox1.Items[i]);
listBox1.Items.Remove(listBox1.Items[i]); //问题出在这句上,当你移除此项时listBox1.GetSelected与原所选择项的数目不同了
}
}
int i=-1;
while(listBox1.SelectedItems.Count >0)
{
i++;
if(listBox1.GetSelected(i))
{
listBox2.Items.Add(listBox1.Items[i]);
listBox1.Items.RemoveAt(i);
i=-1;
}
}