实现选项的选择(单选,多选,全选(移除))
初始化ListBox
protectedvoid InitListBox()
{
ArrayList arrlist = newArrayList();
arrlist.Add("星期一");
arrlist.Add("星期二");
arrlist.Add("星期三");
arrlist.Add("星期四");
arrlist.Add("星期五");
arrlist.Add("星期六");
arrlist.Add("星期日");
LBoxSourseWeek.DataSource = arrlist;
LBoxSourseWeek.DataBind();
}
选择所有
protectedvoid btnAddAll_Click(object sender, EventArgs e)
{
int count = LBoxSourseWeek.Items.Count;
int index = 0;
//循环移动,( 每次都移动最新的第一个)
for (int i = 0; i < count; i++)
{
ListItem item = LBoxSourseWeek.Items[index];
LBoxSourseWeek.Items.Remove(item);
LBoxDestWeek.Items.Add(item);
}
index++;
}
//移除所有
protectedvoid btnDelAll_Click(object sender, EventArgs e)
{
//全部从目标listbox一出(法一)
int count = LBoxDestWeek.Items.Count;
int index = 0;
//循环移动,( 每次都移动最新的第一个)
for (int i = 0; i < count; i++)
{
ListItem item = LBoxDestWeek.Items[index];
LBoxDestWeek.Items.Remove(item);
LBoxSourseWeek.Items.Add(item);
}
index++;
//重新初始化控件(法二)
//InitListBox();
//LBoxDestWeek.Items.Clear();
}
选择一个或者多个
protectedvoid btnAddSel_Click(object sender, EventArgs e)
{
//支持选中多个的移动
int count = LBoxSourseWeek.Items.Count;
int index = 0;
//循环,先判断选中,再移动,( 每次都移动最新的第一个)
for (int i = 0; i < count; i++)
{
ListItem item = LBoxSourseWeek.Items[index];
if (LBoxSourseWeek.Items[index].Selected == true)
{
LBoxSourseWeek.Items.Remove(item);
LBoxDestWeek.Items.Add(item);
//将当前索引值减1
index–;
}
//获取下一个索引值
index++;
}
index++;
}
移除一个或者多个
protectedvoid btnDelSel_Click(object sender, EventArgs e)
{
int count = LBoxDestWeek.Items.Count;
int index = 0;
//循环,先判断选中,再移动,( 每次都移动最新的第一个)
for (int i = 0; i < count; i++)
{
ListItem item = LBoxDestWeek.Items[index];
if (LBoxDestWeek.Items[index].Selected == true)
{
LBoxDestWeek.Items.Remove(item);
LBoxSourseWeek.Items.Add(item);
//将当前索引值减1
index–;
}
//获取下一个索引值
index++;
}
index++;
}
将选择的选项向上移动一次
protectedvoid btnUpOne_Click(object sender, EventArgs e)
{
if (LBoxSourseWeek.SelectedIndex > 0 && LBoxSourseWeek.SelectedIndex <= LBoxSourseWeek.Items.Count – 1)
{
//记录当前选项的值
string name = LBoxSourseWeek.SelectedItem.Text;
string value = LBoxSourseWeek.SelectedItem.Text;
//获取当前选项的索引号
int index = LBoxSourseWeek.SelectedIndex;
//交换当前选项和其前一项的索引号
LBoxSourseWeek.SelectedItem.Text = LBoxSourseWeek.Items[index – 1].Text;
LBoxSourseWeek.SelectedItem.Value = LBoxSourseWeek.Items[index – 1].Value;
LBoxSourseWeek.Items[index – 1].Text = name;
LBoxSourseWeek.Items[index – 1].Value = value;
//设定上一行为选中行
LBoxSourseWeek.SelectedIndex–;
}
else
{
//记录当前选项的值
string name = LBoxSourseWeek.SelectedItem.Text;
string value = LBoxSourseWeek.SelectedItem.Text;
//获取当前选项的索引号
int index = LBoxSourseWeek.SelectedIndex;
//交换当前选项和其前一项的索引号
LBoxSourseWeek.SelectedItem.Text = LBoxSourseWeek.Items[LBoxSourseWeek.Items.Count – 1].Text;
LBoxSourseWeek.SelectedItem.Value = LBoxSourseWeek.Items[LBoxSourseWeek.Items.Count – 1].Value;
LBoxSourseWeek.Items[LBoxSourseWeek.Items.Count – 1].Text = name;
LBoxSourseWeek.Items[LBoxSourseWeek.Items.Count – 1].Value = value;
//设定上一行为选中行
LBoxSourseWeek.SelectedIndex = LBoxSourseWeek.Items.Count – 1;
}
}
将选择的选项向下移动一次
protectedvoid btnDownOne_Click(object sender, EventArgs e)
{
if (LBoxSourseWeek.SelectedIndex >= 0 && LBoxSourseWeek.SelectedIndex < LBoxSourseWeek.Items.Count – 1)
{
//记录当前选项的值
string name = LBoxSourseWeek.SelectedItem.Text;
string value = LBoxSourseWeek.SelectedItem.Text;
//获取当前选项的索引号
int index = LBoxSourseWeek.SelectedIndex;
//交换当前选项和其前一项的索引号
LBoxSourseWeek.SelectedItem.Text = LBoxSourseWeek.Items[index + 1].Text;
LBoxSourseWeek.SelectedItem.Value = LBoxSourseWeek.Items[index + 1].Value;
LBoxSourseWeek.Items[index + 1].Text = name;
LBoxSourseWeek.Items[index + 1].Value = value;
//设定上一行为选中行
LBoxSourseWeek.SelectedIndex++;
}
else
{
//记录当前选项的值
string name = LBoxSourseWeek.SelectedItem.Text;
string value = LBoxSourseWeek.SelectedItem.Text;
//获取当前选项的索引号
int index = LBoxSourseWeek.SelectedIndex;
//交换当前选项和其前一项的索引号
LBoxSourseWeek.SelectedItem.Text = LBoxSourseWeek.Items[0].Text;
LBoxSourseWeek.SelectedItem.Value = LBoxSourseWeek.Items[0].Value;
LBoxSourseWeek.Items[0].Text = name;
LBoxSourseWeek.Items[0].Value = value;
//设定上一行为选中行
LBoxSourseWeek.SelectedIndex = 0;
}
}