星空网 > 软件开发 > ASP.net

Winform中两个listbox的相关操作。

Winform中两个listbox的操作是平时比较常用的操作。

本次将以一个Winform实例来分享一下两个listbox的操作,包括:listbox添加项,项的上移下移等操作。

假设有两个listbox:一个叫listBoxCategory,这个listbox是一个包含所有建筑元素项目的项;另一个叫listBoxSelected,这个是将左边的listbox中的项选中并添加到的listbox。

 Winform中两个listbox的相关操作。

<1>  Resource文件的定义:

Winform中两个listbox的相关操作。

<2>  listBox中的每一项定义:

public class CategoryItem  {    public CategoryItem(string categoryName, int categoryId)    {      CategoryName = categoryName;      CategoryId = categoryId;    }    public string CategoryName {get; set;}    public int CategoryId {get; set;}  }

<3>  listBoxCategoery在初始化时,它的每一项都是由doc.Settings.Categories提供,但是不能和listBoxSelected中的初始项冲突;listBoxSelected中的初始项由Existinglist提供

 private void listboxInitialize(Document doc)    {      List<CategoryItem> categoryitems = new List<CategoryItem>();      listBoxCategory.DisplayMember = "CategoryName";      listBoxCategory.ValueMember = "id";      listBoxSelected.DisplayMember = "CategoryName";      listBoxSelected.ValueMember = "id";      foreach (Category cat in doc.Settings.Categories)      {        bool checkreapter = false;        foreach(int defaultlistId in Existinglist)        {           if(cat.Id.IntegerValue==defaultlistId)           {             checkreapter = true; break;           }        }        if(checkreapter == false)        {          listBoxCategory.Items.Add(new CategoryItem(cat.Name, cat.Id.IntegerValue)); //防止和listBoxSelected中的项冲突        }                  }      foreach (int defaultlistId in Existinglist)      {        listBoxSelected.Items.Add(new CategoryItem(doc.Settings.Categories.get_Item((BuiltInCategory)defaultlistId).Name, defaultlistId));      }    }

<4>  listBoxSeleted的上移与下移:

private void buttonUp_Click(object sender, EventArgs e)    {      int listboxLength = listBoxSelected.Items.Count;        int selectindex = listBoxSelected.SelectedIndex;      if (listBoxSelected.SelectedItem !=null)      {        if (listboxLength > selectindex && selectindex > 0)        {          object oTempItem = listBoxSelected.SelectedItem;          listBoxSelected.Items.RemoveAt(selectindex);          listBoxSelected.Items.Insert(selectindex - 1, oTempItem);          listBoxSelected.SelectedIndex = selectindex - 1;        }       }      else      {        MessageBox.Show(Res.StringReminder);      }    }    private void buttonDown_Click(object sender, EventArgs e)    {      int listboxLength = listBoxSelected.Items.Count;      int selectindex = listBoxSelected.SelectedIndex;      if (listBoxSelected.SelectedItem !=null)      {        if (listboxLength > selectindex && selectindex < listboxLength - 1)        {          object oTempItem = listBoxSelected.SelectedItem;          listBoxSelected.Items.RemoveAt(selectindex);          listBoxSelected.Items.Insert(selectindex + 1, oTempItem);          listBoxSelected.SelectedIndex = selectindex + 1;        }      }      else      {        MessageBox.Show(Res.StringReminder);      }    }

<5> listBoxCategory中的项添加到listBoxSelected:

 private void buttonAdd_Click(object sender, EventArgs e)    {       listBoxSelected.DisplayMember = "CategoryName";       listBoxSelected.ValueMember = "id";       bool checklist = false;       if (listBoxCategory.SelectedItem !=null)       {         foreach(object obj in listBoxSelected.Items)         {           if (((CategoryItem)listBoxCategory.SelectedItem).CategoryName == ((CategoryItem)obj).CategoryName)           {             checklist = true;              break;                  }         }         if(checklist==true)         {           MessageBox.Show(Res.StringRepeat);         }         else         {           for (int i = listBoxCategory.SelectedItems.Count - 1; i >= 0; i--)           {             listBoxCategory.SelectedItem = listBoxCategory.SelectedItems[i];             listBoxSelected.Items.Add(listBoxCategory.SelectedItem);             listBoxCategory.Items.Remove(listBoxCategory.SelectedItem);           }          }                     }       else       {          MessageBox.Show(Res.StringReminder);       }     }

<6> listBoxcategory中的项双击添加到listBoxSelected中:

private void listBoxCategory_DoubleClick(object sender, EventArgs e)    {        buttonAdd.PerformClick();         }

 




原标题:Winform中两个listbox的相关操作。

关键词:winform

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

到布里斯班:https://www.vstour.cn/t/到布里斯班.html
到布里斯班的旅游团:https://www.vstour.cn/t/到布里斯班的旅游团.html
到布里斯班跟团游:https://www.vstour.cn/t/到布里斯班跟团游.html
到布里斯班旅行:https://www.vstour.cn/t/到布里斯班旅行.html
到布里斯班旅游:https://www.vstour.cn/t/到布里斯班旅游.html
到布里斯班旅游价格:https://www.vstour.cn/t/到布里斯班旅游价格.html
珠海市图书馆官网入口:https://www.vstour.cn/a/335174.html
珠海图书馆几点开门几点关门?附营业时间:https://www.vstour.cn/a/335175.html
相关文章
我的浏览记录
最新相关资讯
跨境电商服务平台 | 深圳旅行社 | 东南亚物流