VB.NET的组合控件 vb组合框控件列表项目

vb组合框控件的作用

一、组合框控件的主要属性:

新抚网站建设公司创新互联,新抚网站设计制作,有大型网站制作公司丰富经验。已为新抚成百上千家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的新抚做网站的公司定做!

列表框控件的大部分属性同样适合于组合框,此外,组合框还有一些自己的一些属性:

1、Style(类型)属性

组合框共有三种 Style :

当值为 0 ,组合框是“下拉式组合框”(DropDown Combo),与下拉式列表框相似,但不同的是,下拉式组合框可以通过输入文本的方法在表项中进行选择,可识别 Dropdown 、Click、Change 事件,

当值为 1 ,组合框称为“简单组合框”(Simple Combo),由可以输入文本的编辑区与一个标准列表框组成,可识别 Change 、DblClick 事件,

当值为 2 ,组合框称为“下拉式列表框”(Dropdown ListBox),它的右边有个箭头,可供“拉下”或“收起”操作。它不能识别 DblClick 及 Change 事件,但可识别 Dropdown 、Click 事件

综上所述,如果你想让用户能够输入项目,则应将组合框设置成 0 或 1 ,如果只想让用户对已有项目进行选择,则应将组合框设置成 2 。

2、Text(文本)属性:

本属性值返回用户选择的文本或直接在编辑区域输入的文本,可以在界面设置时直接输入

但要显示多个选项,不能简单地用 Text 属性指定,因为后一选项会覆盖前面的选项,这时,常常要用到窗体的载入事件。(Form_Load)

Form_Load 的意思是,在打开窗口的同时,将指定的内容载入。

二、组合框的事件:

根据组合框的类型,它们所响应的事件是不同的。

例如,当组合框的 Style 属性为 1 时,能接收 DblClick 事件,而其他两种组合框能够接收 Click 与 Dropdown 事件;当 Style 属性为 0 或 1 时,文本框可以接收 Change 事件。

三、组合框的方法:

跟列表框一样,组合框也适用 AddItem 、Clear 、RemoveItem 方法。

vb.net 磁盘文件列表,界面如图,在.net下如何实现?

预先准备三个图标文件,用于树型控件中显示磁盘符号和文件夹的图像之用。

1、窗体上添加控件如下:

组合框控件 ComboBox1,树型控件 TreeView1,列表框控件 ListBox1,图像列表控件 ImageList1。

选中TreeView1,设置其ImageList属性为ImageList1。

2、设置属性

选中图像列表控件 ImageList1,在属性窗口里,选中属性Images,单击三个小点按钮,出现图像集合编辑器窗口,单击[添加按钮],一一把准备好的图标文件进行添加,注意先后次序,如果不符合要求可以通过上下移动按钮重新改变次序。完成后单击[确定]。

运行图如下:

完整代码如下:

Imports System.IO

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'添加系统所有磁盘目录符号

For Each MyDrive As String In Environment.GetLogicalDrives()

ComboBox1.Items.Add(MyDrive)

Next

'显示第一个磁盘符号

ComboBox1.Text = ComboBox1.Items(0)

End Sub

'递归过程添加目录树

Public Sub AddDirectory(ByVal strFatherPath As String, ByVal strPath As String, ByVal nodeFather As TreeNode)

Dim i As Integer

Dim Mynode As New TreeNode

'先添加本目录

Mynode.Text = Strings.Replace(strPath, strFatherPath  "\", "", , 1)

'为节点指定未被选中时显示的图标

Mynode.ImageIndex = 1

'为节点指定被选中时显示的图标

Mynode.SelectedImageIndex = 2

nodeFather.Nodes.Add(Mynode)

Application.DoEvents()

Try

Dim str() As String = Directory.GetDirectories(strPath)

'递归遍历该目录的子文件夹

For i = 0 To str.GetUpperBound(0)

AddDirectory(strPath, str(i), Mynode)

Next

Catch ex As Exception

Debug.WriteLine(ex.Message)

End Try

Mynode = Nothing

End Sub

'根据给出的盘符添加目录树

Private Sub AddRootDirectory(ByVal DiscSymbol As String)

Dim Nynode As New TreeNode

'先把磁盘盘符添加到树中

TreeView1.Nodes.Clear()

Nynode.ImageIndex = 0

Nynode.Text = DiscSymbol

Nynode.SelectedImageIndex = -1

TreeView1.Nodes.Add(Nynode)

Dim i As Integer

'获取磁盘根目录下的文件夹

Dim str() As String = Directory.GetDirectories(DiscSymbol  "\")

For i = 0 To str.GetUpperBound(0)

'调用递归过程遍历该文件夹里的所有子文件夹,并添加到树型控件

AddDirectory(DiscSymbol, str(i), Nynode)

Next

Nynode = Nothing

End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

'根据磁盘符号的变更,显示根目录里的文件

ListBox1.Items.Clear()

For Each MyFile As String In System.IO.Directory.GetFiles(ComboBox1.Text)

ListBox1.Items.Add(MyFile)

Next

'根据磁盘符号的变更,重新显示目录树

Dim DiscSymbol As String

DiscSymbol = Microsoft.VisualBasic.Left(ComboBox1.Text, Len(ComboBox1.Text) - 1)

Call AddRootDirectory(DiscSymbol)

End Sub

'递归过程根据子目录寻找上级目录名--从而构成完整的目录路径

Private Sub AllPath(ByVal ThisNode As TreeNode, ByRef MyPathName As String)

If ThisNode.Level  1 Then

'该节点层数大于1,其父节点不是磁盘根目录

MyPathName = ThisNode.Parent.Text  "\"  MyPathName

Dim MyNode As TreeNode = ThisNode.Parent

Call AllPath(MyNode, MyPathName)

Else

'该节点层数等于1,其父节点就是磁盘根目录

MyPathName = ComboBox1.Text  MyPathName

End If

End Sub

Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect

'为了搜索选中的节点对应目录的文件,需要组成全路径

Dim MyAllPathName As String = TreeView1.SelectedNode.Text

Dim MyNode As TreeNode = TreeView1.SelectedNode

If TreeView1.SelectedNode.Level = 0 Then

'如果选中的是根节点

MyAllPathName = ComboBox1.Text

Else

'如果选中的是非根节点,调用递归过程组成全路径

Call AllPath(MyNode, MyAllPathName)

MyAllPathName = MyAllPathName  "\"

End If

'根据路径,搜索文件名并显示

ListBox1.Items.Clear()

For Each MyFile As String In System.IO.Directory.GetFiles(MyAllPathName)

ListBox1.Items.Add(MyFile)

Next

End Sub

End Class

关于VB中的ComboBox控件使用方法

Combobox(组合框)控件相当于将文本框和列表框的功能结合在一起。这个控件可以实现输入文本来选定项目,也可以实现从列表中选定项目这两种选择项目的方法。如果项目数超过了组合框能够显示的项目数,控件上将自动出现滚动条。用户可以上下或左右滚动列表。

1.使用组合框和列表框

通常,组合框适用于建议性的选项列表,而当希望将输入限制在列表之内时,应使用列表框。组合框包含编辑区域,因此可将不在列表中的选项输入列区域中。此外,组合框节省了窗体的空间。只有单击组合框的向下箭头时(Style属性值为1的组合框除外,它总是处于下拉状态)才显示全部列表,所以无法容纳列表框的地方可以很容易地容纳组合框。

2.组合框的样式

此处有三种组合框样式。每种样式都可在设计时或运行时来设置,而且每种样式都使用数值或相应的Visual Basic常数来设置组合框的样式。

样式值常数:下拉式组合框值为0,Vb.net中的常数值为DropDown;简单组合框值为1,Vb.net中的常数值为Simple;下拉式列表框值为2,vb.net中的常数值为DropDownList。

3.下拉式组合框

在缺省设置(Style=0)下,组合框为下拉式。用户可象在文本框中一样直接输入文本,也可单击组合框右侧的附带箭头打开选项列表。选定某个选项后,将此选项插入到组合框顶端的文本部分中。当控件获得焦点时,也可按Alt+↓键打开列表

4.简单组合框

将组合框的Style属性设置为1,将指定一个简单的组合框,任何时候都在其内显示列表。为显示列表中所有项,必须将列表框绘制得足够大。当选项数超过可显示的限度时将自动插入一个垂直滚动条。用户可直接输入文本,也可从列表中选择。象下拉式组合框一样,简单组合框也允许用户输入那些不在列表中的选项。

5.下拉式组合框

下拉式组合框(Style=2)与正规列表框相似--它显示项目的列表,用户必须从中选择,但下拉式列表框与列表框不同之处在于,除非单击框右侧的箭头,否则不显示列表。

这种列表框与下拉式组合框的主要差别在于,用户不能在列表框中输入选项,而只能在列表中选择。当窗体上的空间较少时,可使用这种类型的列表框。

6.添加项目

为在组合框中添加项目,应使用Insert方法,其语法如下:

ComboboxName.Items.Insert(index As Integer,item As Object)

"comboboxName"为列表框或组合框名称,item为在列表中添加的字符串表达式,用引号括起来。Index用来指定新项目在列表中的插入位置。Index为0表示第一个位置。当在第一个位置时,也可以用语法:

combobox.Items.Add(item As Object)

通常在设计时或在New过程中添加列表项目,但也可在任何时候使用Insert方法。这样就能动态在列表中添加项目。以下代码将“Chardonnay”,“Fum Blanc”,“Gewztraminer”和“Zinfandel”放置到名为combobox1,Style属性为0(DropDown)的组合框中:

Public Sub New()

...

...

Combobox1.Items.Insert "Chardonnay"

Combobox1.Items.Insert "Fum Blanc"

Combobox1.Items.Insert "Gewztraminer"

Combobox1.Items.Insert "Zinfandel"

End Sub

7.设计时添加项目

在设计时,也可设置组合框控件“属性”窗口的Items属性,从而在列表中添加项目。选定Items属性并单击按钮后就可以输入列表项目,然后按回车键换到新的一行。

只能将项目添加到列表的末尾。所以,如果要将列表按字母顺序排序,则应将Sorted属性设置为True.

8.指定位置添加项目

为了在列表指定位置添加项目,应在新项目后指定索引值。例如,下行代码将"Piont Noir"插入到第一个位置并把其他项目的位置向下调整:

Combobox1.Items.Insert(0,"Pinot Noir")

注意:指定列表中的第一个位置的是0而不是1

9.排序列表

将Sorted属性设置为True并省略索引,则可在列表中指定按字母顺序添加的项目。排序时不区分大小写。将sorted属性设置为true后,Items.Insert方法将导致不可预料的非排序结果。

10.删除项目

可在组合框中用Items.Remove方法来删除项目。Items.Remove有一个参数index,它指定要删除的项目:combobox1.Items.Remove(index)及index参数和Items.Insert中的参数相同。例如,为了删除列表中的第一个项目,应添加下面一行代码:

combobox1.Items.Remove(0)

若要删除所有列表项目,就使用Clear方法:

combobox1.Clear

11.用Text属性获取列表内容

获取当前选项目值的最简单的常用方法就是使用Text属性。在运行时无论向控件的文本框部分输入了什么文本,Text属性都与这个文本相对应。它可以是选定的列表选项,或者是用户在文本框中输入的字符串。例如,如果用户选定列表框中的“chardonnay”,则通过下列代码显示有关“chardonnay”的信息:

Private Sub Combobox1_click(Byval sender As Object,Byval e As System.EventArgs)

If Combobox1.Text="Chardonnay" Then

Textbox1.Text="Chardonnay is a midium-bodied white wine."

End If

End Sub

其中Text属性包含Combobox1列表框中当前选定的项目。代码查看是否选择了“Chardonnay”,若是如此,则在文本框中显示信息。

12.用Items属性访问列表选项

有了Items属性就可访问列表中所有项目,该属性包含一个数组,而且列表中的每个项目都是数组的元素。每一项都表示为字符串的形式。为了引用列表中的项目,应使用如下语法:

ComboboxName.Items(index)

ComboboxName为组合框名称,而index是项目的位置。顶端项目的索引为0,下一个项目的索引为1,依次类推。例如,在文本框中,以下语句显示列表中的第三个项目(index=2):

Text1.Text=CStr(Combobox1.Items(2))

13.用SelectIndex属性判断位置

想要知道组合框列表中选定项目位置,可以由SelectIndex属性得到。该属性设置或返回控件中当前选定项目的索引值,而且只在运行时有效。对组合框的SelectIndex属性进行设置时也会触发控件的Click事件。若选定第一个(项端)项目,则属性值为0;选定的下一个项目属性值为1,依次类推。如果未选定项目,或者用户在组合框中输入选项(样式0或1)而不在列表中选择现有的项目,则SelectIndex为-1。

14.Items.Count属性返回项目数

为了返回组合框中的项目数,应使用Items.Count属性。例如,下列语句用Items.Count属性判断组合框中的项目数:

TextBox1.Text="You have"Combobox1."Items.Count""_entries listed"

vb.net 控件集合

Private Sub b_click(sender As Object, e As EventArgs)

MsgBox(sender.name)

End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Dim b() As Button = {Button1, Button2, Button3}

For Each i In b

AddHandler i.Click, AddressOf b_click

Next

End Sub


网站题目:VB.NET的组合控件 vb组合框控件列表项目
网页链接:http://hbruida.cn/article/hpgiee.html