C# ListBox 的使用
2010年09月02日 星期四 下午 01:58
1. 属性列表:
SelectionMode
组件中条目的选择类型:None-根本不允许任何选择;One-默认值,只选择单个选项;MultiSimple-简单的多项选择,单击一次鼠标就选中或取消选中列表中的一项;MultiExtended-扩展的多项选择,类似windows中的选择操作.
SelectedItem
在单选的列表框里, SelectedItem返回的是一个对象,它的文本由Text属性表示.作用是获得列表框中被选择的条目.如果控件允许多项选择,被选中的条目就以SelectedItems属性表示,它是Item对象的一个集合.
Count
列表框中条目的总数
SelectedIndex /SelectedIndices/SelectedItem/SelectedItems
ListBox.SelectedIndex属性获取单项选择ListBox中当前选定项的位置;ListBox.SelectedIndices属性获取一个集合,该集合包含ListBox中所有当前选定项的从零开始的索引;ListBox.SelectedItem属性获取ListBox中当前选定的项;ListBox.SelectedItems属性获取多重选择ListBox中所有选定的项,它是一集合。
Public ReadOnly Property SelectedIndices As ListBox.SelectedIndexCollection
ListBox.SelectedIndexCollection,包含控件中当前选定项的索引。如果当前没有选定的项,则返回空 ListBox.SelectedIndexCollection
泛指列表框中的所有项
2. 取列表框中被选中的值
ListBox.SelectedValue
3. 动态的添加列表框中的项:
ListBox.Items.Add("所要添加的项");
以下代码实现通过输入框向列表框中添加内容:
Private Sub bttnAdd1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttnAdd1.Click
Dim ListItem As String
ListItem = InputBox("Enter new item's name")
If ListItem.Trim <> "" Then
sourceList.Items.Add(ListItem)
End If
End Sub
ListBox.Items.Insert(index,item)
item是要添加到列表的对象,index是这个新项的索引。
4. 移出指定项:
//首先判断列表框中的项是否大于0
If(ListBox.Items.Count > 0 )
{
//移出选择的项
ListBox.Items.Remove(ListBox.SelectedItem);
}
以下代码实现从单项选择的列表框中删除被选中的条目:
Private Sub bttnRemoveSelDest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttnRemoveSelDest.Click
ListBox.Items.Remove(ListBox.SelectedItem)
End Sub
以下代码实现从多项选择列表框中删除多个条目:
Private Sub bttnRemoveSelSrc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttnRemoveSelSrc.Click
Dim i As Integer
For i = 0 To ListBox.SelectedIndices.Count - 1
LisBoxt.Items.RemoveAt(ListBox.SelectedIndices(0))
Next
End Sub
备注:利用ListBox.Items.Remove方法,以要删除的对象作为参数,从列表中删除条目。而利用RemoveAt方法可以删除指定位置(索引)的列表项,它以索引作为参数:ListBox.Items.RemoveAt(index)
5. 清空所有项:
//首先判断列表框中的项是否大于0
If(ListBox.Items.Count > 0 )
{
//清空所有项
ListBox.Items.Clear();
}
6. 列表框可以一次选择多项:
只需设置列表框的属性 SelectionMode="Multiple",按Ctrl可以多选
7. 多列表框中搜索字符串:
FindString和 FindStringExact方法可以迅速地找到条目(search word)在列表里的位置(wordIndex)。它们都接收字符串作为弟一个参数,第二个参数可选,用于指定搜索开始的位置。其中FindString找到与指定字符部分匹配的条目,而FindStringExact找到时完全匹配的。
wordIndex=ListBox.FindStringExact("search word")
wordIndex=ListBox.FindString("search word")
8. Contains方法
利用它可以避免在列表中插入相同的对象。此方法接收一个对象作为参数,返回Ture/False来表示Items集合中是否包含这个对象。比如,要实现以下功能:先检查插入的字符串是否已经存在于列表,只有当列表中还没有包含这个字符串时才插入它。其代码如下(VB.Net):
Dim itm As String="Remote Computing"
If Not ListBox.Items.Contains(itm) then
ListBox1.Item.Add(itm)
End If
9. 两个列表框联动,即两级联动菜单
//判断第一个列表框中被选中的值
switch(ListBox1.SelectValue)
{
//如果是"A",第二个列表框中就添加这些:
case "A"
ListBox2.Items.Clear();
ListBox2.Items.Add("A1");
ListBox2.Items.Add("A2");
ListBox2.Items.Add("A3");
//如果是"B",第二个列表框中就添加这些:
case "B"
ListBox2.Items.Clear();
ListBox2.Items.Add("B1");
ListBox2.Items.Add("B2");
ListBox2.Items.Add("B3");
}
10. 实现列表框中项的移位
即:向上移位、向下移位
具体的思路为:创建一个ListBox对象,并把要移位的项先暂放在这个对象中。
如果是向上移位,就是把当前选定项的的上一项的值赋给当前选定的项,然后
把刚才新加入的对象的值,再附给当前选定项的前一项。
具体代码为:
//定义一个变量,作移位用
index = -1;
//将当前条目的文本以及值都保存到一个临时变量里面
ListItem lt=new ListItem (ListBox.SelectedItem.Text,ListBox.SelectedValue);
//被选中的项的值等于上一条或下一条的值
ListBox.Items[ListBox.SelectedIndex].Text=ListBox.Items[ListBox.SelectedIndex + index].Text;
//被选中的项的值等于上一条或下一条的值
ListBox.Items[ListBox.SelectedIndex].Value=ListBox.Items[ListBox.SelectedIndex + index].Value;
//把被选中项的前一条或下一条的值用临时变量中的取代
ListBox.Items[ListBox.SelectedIndex].Test=lt.Test;
//把被选中项的前一条或下一条的值用临时变量中的取代
ListBox.Items[ListBox.SelectedIndex].Value=lt.Value;
//把鼠标指针放到移动后的那项上
ListBox.Items[ListBox.SelectedIndex].Value=lt.Value;
11. 移动指针到指定位置:
(1).移至首条
//将被选中项的索引设置为0就OK了
ListBox.SelectIndex=0;
(2).移至尾条
//将被选中项的索引设置为ListBox.Items.Count-1就OK了
ListBox.SelectIndex=ListBox.Items.Count-1;
(3).上一条
//用当前被选中的索引去减 1
ListBox.SelectIndex=ListBox.SelectIndex - 1;
(4).下一条
//用当前被选中的索引去加 1
ListBox.SelectIndex=ListBox.SelectIndex + 1;
分享到:
相关推荐
在C#编程中,Listbox控件是一种常用的数据展示组件,它允许程序员向用户显示一系列条目或选项。当我们处理大量数据或者实时更新内容时,可能会遇到需要实现Listbox自动滚动的功能。这个功能通常用于确保最新的添加项...
### C# ListBox 文件拖拽知识点详解 #### 一、知识点概览 在C#开发中,经常需要处理用户与界面的交互,其中一种常见的交互方式就是通过拖拽(Drag and Drop)来完成文件的上传或数据的操作。本篇文章将详细介绍...
在C#中,我们通常使用`Items`属性来与ListBox中的项进行交互。例如,添加一个字符串到ListBox中,我们可以使用`Add`方法: ```csharp listBox1.Items.Add("字符1"); ``` 要删除一个项,可以使用`RemoveAt`方法,...
listbox与textbox组合,实现类似google、百度搜索的模糊查询功能。textbox中输入数据,连接数据库进行模糊查找数据库记录,在将记录加载到listbox中。双击listbox中查询到的记录,再传递到testbox中显示。 希望能给...
在.NET Framework中,C#是一种常用的编程语言,用于开发Windows应用程序。ListBox是Windows Forms中一个基本的控件,通常用于显示一系列的项目供用户选择。然而,标准的ListBox控件并不支持直接在列表中编辑项内容。...
C# ListBox 绑定数据库 C# ListBox 绑定数据库是指将数据库中...C# ListBox 绑定数据库可以使用两种方法实现:使用 SqlDataReader 绑定数据库和使用集合添加项。同时,我们也可以使用 DropDownList 控件来提供选择项。
在本文档中,我们探讨了如何使用 C# 中的委托和多线程技术来安全地更新 ListBox 控件。这种技术不仅可以提高程序的响应性和性能,还可以确保 UI 更新的正确性。理解这些概念对于开发复杂的、具有高度交互性的应用...
在C# WinForm开发中,`ListBox`控件是一个常用组件,用于展示一系列可选的项。本示例探讨的是如何实现`ListBox`控件中每一行文本的颜色自定义,即“c# 一个listbox的行字体颜色应用”。这个技巧能够帮助开发者提升...
在C#编程中,Listbox是一个常用的控件,用于显示一系列可选择的项目。然而,标准的ListBox控件样式在视觉上可能较为简单,不能满足某些应用的美观需求。为了解决这个问题,开发者通常会通过自定义或者重写ListBox来...
### c# ListBox 删除选定的多项 在C#编程语言中,`ListBox` 是一个非常实用的控件,常用于显示一系列选项供...同时,理解这两种方法背后的原理也是非常重要的,这有助于更好地理解和掌握C#中`ListBox`控件的使用技巧。
在C# WinForm应用开发中...总的来说,C# WinForm中的ListBox控件拖拽排序功能是通过捕获和处理鼠标事件,结合Items集合的操作来实现的。这个功能增强了用户与界面的交互性,尤其适用于需要频繁调整列表顺序的应用场景。
在开发用户界面时,控件如ListBox是经常使用的元素,它允许用户通过列表选择一个或多个项。本篇文章将详细探讨如何在Visual Studio 2010环境下,利用C#实现ListBox中的项通过鼠标拖动和按钮操作进行动态排序。 首先...
1.源码:C#访问Sqlite数据库并显示在listBox中,并且支持对数据库的插入和删除。 2. 教程文档:该项目开发的详细步骤,并添加了必要的说明。 3. 使用说明文档:该源码项目的使用说明和注意事项。 4. sqlite.Net。...
在C#编程中,ListBox控件常用于展示一系列选项或数据项,用户可以通过单选或多选来进行交互。当你需要从数据库获取数据并显示在ListBox中时,这涉及到数据库操作、数据绑定以及UI更新等关键步骤。以下是实现这个功能...
总的来说,自定义颜色ListBox的实现涉及到了面向对象编程、控件继承、事件处理、数据绑定和图形绘制等多个C#核心概念,是提升C#编程技能的一个好实践。通过这样的练习,开发者不仅可以掌握C#的基础,还能锻炼解决...
在压缩包`TestListImage`中,可能包含了演示这个功能的完整示例项目,包括XAML布局文件和C#后台代码。通过分析和运行这个项目,你可以更深入地理解如何在实际应用中实现`ListBox`显示图片的功能。 总之,WPF的`...
在C#编程中,ListBox控件是一个常用的UI元素,它允许用户从一组预定义的选项中选择一个或多个项。本篇文章将详细讲解如何在实际项目中应用ListBox,特别是涉及数据交换的操作。我们将通过一个名为"ListBoxTest"的...
本教程将深入探讨如何使用C#和JavaScript技术实现ListBox组件中项的左右移动功能,旨在提高用户体验并实现动态数据操作。 首先,`ListBox`是.NET Framework中的一种控件,常用于在Web应用程序中展示可多选的数据...
在本篇文章中,我们将深入了解如何使用 C# 编程语言将 ListBox 控件中的数据写入到一个 TXT 文本文件中。此过程涉及到了文件操作、路径处理以及文本文件的读写等多个方面。 #### 一、基础知识准备 在开始之前,...