控件(一)——实现列表框中指定条目移位和移动指针到指定位置
天轰穿视频主要讲了三大部分: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>
效果如下: