C#入门教程之ListBox控件使用方法(c# list using)太疯狂了

随心笔谈2年前发布 编辑
165 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买


ListBox控件的使用:

1)控件属性

Items

SelectedItems

SelectioModes

2)数据绑定

DataSoure

DisplayMember

ValueMenber

3)实例

下面开始一一说明上面的ListBox控件的使用。

首先来说控件的属性,

(1)Items:使用此属性获取列表控件项的属性。此属性可用于确定列表控件中的选定项。添加items时既可以设计时静态添加,也可以在代码中动态添加。如果不想显示设计时添加的items,可以在代码中添加this.listBox1.Items.Clear();只显示在代码中添加的选项。

(2)SelectedItems:获取包含ListBox中当前选定项的集合。

(3)SelectioModes:获取或设置在ListBox中选择项所用的方法。一共有四个值可选;默认为 SelectionMode.One,只能选中一个;属性值为none时不能选择;当属性MultiExtended 时,按下 Shift 键的同时单击鼠标或者同时Shift 键和箭头键之一(向上键、向下键、向左键和向右键),会将选定内容从前一选定项扩展到当前项。按 Ctrl 键的同时单击鼠标将选择或撤消选择列表中的某项;当该属性设置为MultiSimple 时,鼠标单击或按空格键将选择或撤消选择列表中的某项。

接下来说一哈数据绑定,通常数据都是可变的,所以说就需要数据绑定。数据绑定有几种,一种就是绑定从数据库中获取的DataTable或者是DataSet;另外一种就是自定义一个类,绑定自定义类中的数据。c#中的数据绑定与ASP.NET中的数据绑定还有一点区别,ASP.NET中绑定数据后还要调用一个DataBind方法,而在c#中就不需要。而DisplayMember获取或设置要显示的属性。

最后我们来做一个实例如图所示:

C#入门教程之ListBox控件使用方法(c# list using)太疯狂了

下面我们只是说一哈几个重要的方法的实现,具体代码就不在这写了。将左边框中的选项放到右边框中去。代码:

复制代码 代码如下:

for (int i=this.listBox1.SelectedItems.Count – 1; i >=0;i — )

{

Menu menu=(menu)this.listBox1.SelectedItems[i];

this.listBox2.Items.Add(menu);

this.listBox1.Items.Remove(i);

}

上面虽然实现了功能但是有一个问题,就是左边的项到了右边后变成了倒序。这是我们需要将添加和移出分开写,代码:

复制代码 代码如下:

for (int i=0; i < this.listBox1.SelectedItems.Count;i++ )

{

Menu menu=(menu)this.listBox1.SelectedItems[i];

this.listBox2.Items.Add(menu);

}

for (int i=this.listBox1.SelectedItems.Count – 1; i >=0; i–)

{

this.listBox1.Items.Remove(i);

}

到现在为止还一个问题就是当选择框中的前面几个项的时候右移没有问题,但选择后面几个项时移到右边框中的是后面几个项,而左边框中移出的是前面几个项,造成这个问题的原因是我们将

SelectedItems和Items混为一谈了。这是很多初学者容易犯的错误。代码:

复制代码 代码如下:

for (int i=0; i < this.listBox1.SelectedItems.Count;i++ )

{

Menu menu=(menu)this.listBox1.SelectedItems[i];

this.listBox2.Items.Add(menu);

}

for (int i=this.listBox1.SelectedItems.Count – 1; i >=0; i–)

{

Menu menu=(menu)this.listBox1.SelectedItems[i];

this.listBox1.Items.Remove(menu);

}

这样的话就对了。

个人自学不知说的对不对,希望各位支持支持,欢迎指正。

您可能感兴趣的文章:C#中CheckedListBox控件的用法实例C# Winfom 中ListBox的简单用法详解C# ListBox中的Item拖拽代码分享C#使用checkedListBox1控件链接数据库的方法示例C# CheckedListBox控件的用法总结C#实现让ListBox适应最大Item宽度的方法C#读取文本文件到listbox组件的方法C#保存listbox中数据到文本文件的方法C#(WinForm) ComboBox和ListBox添加项及设置默认选择项c#使用listbox的详细方法和常见问题解决

© 版权声明

相关文章