protected void Page_Load(object sender, EventArgs e)
{
//動態產生左右各一的listbox,並做初始值設定-----------開始
ListBox leftlist = new ListBox();
ListBox rightlist = new ListBox();
leftlist.SelectionMode = ListSelectionMode.Multiple;
rightlist.SelectionMode = ListSelectionMode.Multiple;
leftlist.ID = "leftlist";
leftlist.Width = 200;
leftlist.Font.Size = 14;
leftlist.Height = 300;
rightlist.ID = "rightlist";
rightlist.Width = 200;
rightlist.Font.Size = 14;
rightlist.Height = 300;
//動態產生左右各一的listbox,並做初始值設定-----------結束
//為左邊的listbox增添選項---------------開始
for (int i = 1; i <= 10; i++)
{
if (i < 10)
{
leftlist.Items.Add("項目00" + i);
}else if(i<100)
{
leftlist.Items.Add("項目0" + i);
}else
leftlist.Items.Add("項目" + i);
)
}
//為左邊的listbox增添選項---------------結束
//加入兩個按鈕-----------------------------開始
Button b1 = new Button();
b1.Text = "往右跑→";
b1.Click += button_click;
b1.ID = "b1";
Button b2 = new Button();
b2.Text = "←往左跑";
b2.Click += button_click;
b2.ID = "b2";
//加入兩個按鈕-----------------------------結束
//將listbox、button實例化----開始
PlaceHolder1.Controls.Add(leftlist);
PlaceHolder2.Controls.Add(b1);
PlaceHolder2.Controls.Add(new Literal { Text = "<br/>" });
PlaceHolder2.Controls.Add(b2);
PlaceHolder3.Controls.Add(rightlist);
//將listbox、button實例化----結束
}
private void button_click(object sender, EventArgs e)
{
//從容器中取得兩個listbox, 並偵測使用者按了哪一個按鈕---------------開始
ListBox fromlistbox, tolistbox;
Button b = (Button)sender;
if (b.ID == "b1")
{
fromlistbox = PlaceHolder1.FindControl("leftlist") as ListBox;
tolistbox = PlaceHolder3.FindControl("rightlist") as ListBox;
}else
{
fromlistbox = PlaceHolder3.FindControl("rightlist") as ListBox;
tolistbox = PlaceHolder1.FindControl("leftlist") as ListBox;
}
//從容器中取得兩個listbox, 並偵測使用者按了哪一個按鈕---------------開始
//新增一個arraylist用來儲存使用者選了什麼選項及目的listbox的選項----開始
ArrayList myarraylist = new ArrayList();
for (int i = 0; i < fromlistbox.Items.Count; i++)
{
if (fromlistbox.Items[i].Selected)
{
myarraylist.Add(fromlistbox.Items[i].Text);
}
}
foreach (string a in myarraylist)
{
fromlistbox.Items.Remove(a);
}
for (int i = 0; i < tolistbox.Items.Count; i++)
{
myarraylist.Add(tolistbox.Items[i].Text);
}
myarraylist.Sort(); //將listitem的內容排序
tolistbox.Items.Clear();
foreach(string a in myarraylist)
{
tolistbox.Items.Add(a);
}
}