随笔 - 142  文章 - 2  评论 - 4  阅读 - 57303

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

天轰穿视频主要讲了三大部分: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   刘正权的博客  阅读(336)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2012年5月 >
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
3 4 5 6 7 8 9

点击右上角即可分享
微信分享提示