listbox.PNG

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);
        }
    }

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 ylw1125 的頭像
    ylw1125

    程式搜集分享精靈

    ylw1125 發表在 痞客邦 留言(0) 人氣()