控件(一)——实现列表框中指定条目移位和移动指针到指定位置

天轰穿视频主要讲了三大部分:C#基础、vs控件、ado.net。在这三者中,绝大篇幅介绍的VS中的控件。
下面首先让我们认识下ListBox控件的使用。

本例题中应用到的控件有label、ListBox、Button三个常用的控件。

如下:

 

设置列表框的SelectionMode属性为Multiple,以可以选中多条。

代码如下:

 

        protected void Page_Load(object sender, EventArgs e)
        {
            Label2.Text = "请按照您的喜爱程度给下面的英雄排序:";
            Label2.Font.Bold = true;
            Label2.Font.Size = 16;
        }
        protected void btnUp_Click(object sender, EventArgs e)
        {//上下移动一条
            if (((Button)sender ).CommandName =="up" && lsbShow.SelectedIndex>0 ||((Button )sender).CommandName=="down" &&
                lsbShow.SelectedIndex<lsbShow.Items.Count-1)
            {//判断传来的命令必须是 up并且所选条目的索引必须大于0,或者 down并且所选条目必须小雨最大项

                int index;//为了减少代码,这里做一个对变量的判断,以后直接调用变量
                if (((Button)sender).CommandName == "up")
                {
                    index = -1;//以后的索引就在当前的索引加一或者减一
                }
                else
                {
                    index = 1;
                }
                ListItem lt = new ListItem(lsbShow.SelectedItem.Text, lsbShow.SelectedValue);
                lsbShow.Items[lsbShow.SelectedIndex].Text = lsbShow.Items[lsbShow.SelectedIndex + index].Text;
                lsbShow.Items[lsbShow.SelectedIndex].Value = lsbShow.Items[lsbShow.SelectedIndex + index].Value;
                lsbShow.Items[lsbShow.SelectedIndex + index].Text = lt.Text;
                lsbShow.Items[lsbShow.SelectedIndex + index].Value = lt.Value;
                lsbShow.SelectedIndex = lsbShow.SelectedIndex + index;
            }

        }

        protected void btnFirst_Click(object sender, EventArgs e)
        {//至首条
            lsbShow.SelectedIndex = 0;
        }

        protected void btnLast_Click(object sender, EventArgs e)
        {//至尾条
            lsbShow.SelectedIndex = lsbShow.Items.Count - 1;
        }

        protected void btnBefore_Click(object sender, EventArgs e)
        {
            //上一条
            lsbShow.SelectedIndex = lsbShow.SelectedIndex - 1;
        }

        protected void btnNext_Click(object sender, EventArgs e)
        {//下一条
            lsbShow.SelectedIndex = lsbShow.SelectedIndex + 1;
        }

 

上移下移按钮点击时都响应“btnUp_Click”事件,对应代码如下:

    <p>
        <asp:Button ID="btnUp" runat="server" Text="上移" CommandName="up" 
            onclick="btnUp_Click" />
        <asp:Button ID="btnDown" runat="server" Text="下移" CommandName="down" 
            onclick="btnUp_Click" />
    </p>



 

效果如下:

 

 

posted on 2012-05-18 08:48  刘正权的博客  阅读(335)  评论(0编辑  收藏  举报