1、ListBox控件
列表框(ListBox)的主要属性和事件
用户可以从列表框中的一系列的选项中选择一个或多个选项。如果选项的数量超过可显示的区域,列表框会自动增加滚动条。列表框可以是单列或多列的。以下是它的主要属性:
- Items:设置列表部分中包含的项。用户可以在编译时自己在属性窗口中设置,也可以在程序中进行设置。
- SelectionMode:该属性设置用户是否能够在列表项中做多个选择。设置为None将不允许选择;该属性为MultiSimple时,允许有简单的多项选择;该属性被设置为MultiExtened时,允许有扩展式多项选择,即使用“Shift+单击”或“Shift+方向键”可把先前的选项扩展到当前的选项,也可以使用“Ctrl+单击”进行隔项选择。
- SelectedIndex:用于获取用户所选取的列表框项目。在编程的时候,用户可以捕获该属性值,然后根据该值来进行相应的动作。
- MultiColumn:用于设置列表框是否以多行的形式显示。设置为True,则支持多行显示。默认为False。
列表框的主要事件是DoubleClick和SelectedIndexChanged,可以通过捕获这两个事件来进行相应的操作。
Public Class Form3
Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
Me.TextBox1.Font = New System.Drawing.Font("宋体", 12, FontStyle.Bold Or FontStyle.Strikeout)
Me.TextBox1.ForeColor = Color.Red
Select Case Me.ListBox1.SelectedIndex
Case 0
Me.TextBox1.Text = "大梦谁先觉,平生我自知。草堂春睡足,窗外日迟迟"
Case 1
Me.TextBox1.Text = "Visual Basic 2005"
Case 2
Me.TextBox1.Text = "练习使用列表框"
End Select
End Sub
End Class
2、ComboBox控件
组合列表框(ComboBox)的主要属性和事件
组合列表框是文本框和列表框组合而成的控件。它的3种不同类型可通过组合框的DropDownStyle属性确定。DropDownStyle属性设置为DropDown(值为1默认)时,组合框称为下拉式组合框,可以在文本框中直接输入内容或者单击右边的下三角箭头打开列表供用户选择;DropDownStyle属性设置为Simple(值为0)时,组合框称为简单组合框,它列出所有项目供用户选择,也可以直接在文本框中输入内容;DropDownStyle属性设置为DropDownList(值为2)时,组合框称为下拉式列表框,它不允许用户直接输入自己的内容,值允许单击右边的下三角箭头打开列表框来选择。
组合列表框常用的事件有DoubleClick、Click、SelectedIndexChanged等。用户可以通过捕获SelectedIndexChanged事件来获取组合框中的选择。
Public Class Form4
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Select Case Me.ComboBox1.SelectedIndex
Case 0
Me.TextBox1.ForeColor = Color.Yellow
Case 1
Me.TextBox1.ForeColor = Color.Red
Case 2
Me.TextBox1.ForeColor = Color.Blue
Case 3
Me.TextBox1.ForeColor = Color.Black
End Select
End Sub
End Class
3、ListView控件
ListView控件用于显示项目的列表视图。可以利用该控件的相关属性来安排行列、列头、标题、图标和文本
ListView控件可以使用4种不同视图显示项目。通过此控件,可将项目组成有或没有列标头的列,并显示伴随的图标和文件。ListView控件能够用来制作项WIndows中【控制面板】那样的用户面板。ListView控件的常用属性和事件
(1)常用属性
属性 功能 MultiSelect 设置用户能否在本控件中多重选择。它是Boolean型。True是允许多重选择 SelectedItems 获得一份被选择列表项对象的参照 Alignment 设置ListView控件中的项目的放置方式。默认是Top,即从顶部开始放置 CheckBoxes 设置是否给项目添加复选框 Items 设置ListView控件中的项目属性 Sorting 设置对图标视图的列表项进行排序的方式。可以对图标进行升序或降序排列
(2)常用事件
事件 意义 AfterLabelEdit 在用户编辑当前选择的列表对象之后做某事 BeforeLabelEdit 在用户编辑当前选择的列表对象之前做某事 Click 在鼠标单击该控件时,执行某一过程 DoubleClick 在鼠标双击该控件时,执行某一过程 SelectedIndexChanged 当控件中某一列表项变化时,执行某一过程
Public Class Form5
Private Sub ListView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.Click
Dim i As Integer
Dim mycount As Integer
mycount = Me.ListView1.Items.Count
For i = 0 To mycount - 1
If Me.ListView1.Items(i).Selected = True Then
Me.ToolStripStatusLabel1.Text = Me.ListView1.Items(i).Text + "已经被选中"
Exit For
End If
Next
End SubPrivate Sub RadioButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton1.Click
Me.ListView1.Sorting = SortOrder.Ascending
End SubPrivate Sub RadioButton2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton2.Click
Me.ListView1.Sorting = SortOrder.Descending
End SubPrivate Sub RadioButton3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton3.Click
Me.ListView1.Sorting = SortOrder.None
End SubPublic Sub myinitialize()
Dim mycount As Integer
mycount = Me.ListView1.Items.Count
Me.ToolStripStatusLabel1.Text = "共有" + Str(mycount) + "个对象"
End SubPrivate Sub Form5_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.myinitialize()
End Sub
End Class
4、TreeView控件
TreeView控件用于显示各个对象的树形结构视图,每个对象由一个标签和任选位图组成。这些对象一般称为Node对象。
TreeView控件用来显示信息的分级视图,如同Windows操作系统中显示的文件和目录。 TreeView控件中的各项信息都有一个与之相关联的Node对象。利用TreeView控件能设计出像Windows操作系统中一样的树形目录。后面应该还有讲到。TreeView控件的属性和事件
(1)常见属性
属性 功能 ImageList 读出或设置与本控件相联系的ImageList控件 Indent 设置各个新的Node对象缩进的量度 LabelEdit 设置用户是否编辑本控件中Node对象的标签。它有0和1两个属性值。0代表自动编辑标签;1代表人工编辑标签 ShowLines 设置本项控件中Node对象之间显示的线条类型。它有True和False两种属性值。用于设置是否显示子线条 ShowRootLines 设置本项控件中Node对象之间显示的线条类型。它有True和False两种属性值。用于设置是否显示根线条 Nodes 设置访问控件使用的Node对象集合 PathSeperator 设置路径中各级目录之间的分隔符号。默认情况下,设置为"\"
(2)TreeView控件的常用事件
TreeView控件的常用事件有AfterLabelEdit、BeforeLabelEdit、Click、DoubleClick、AfterSelect和AfterExpand。其中,AfterSelect事件可以用于在用户单击控件中任一Node对象时进行检测。
另外,TreeView控件经常使用Add()函数,其语法格式为:
Object.Nodes.Add(Text|Node)
其中,Text代表节点要显示的文本;Node代表节点需要添加的节点对象Public Class Form6
Dim mynode As TreeNodePrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim newnodename As String
Dim newnode As TreeNode
Dim ss As String
ss = "将在'" & mynode.Text & "'下添加新节点,请输入新节点的名称"
newnodename = InputBox(ss, "添加新节点", "")
If Trim(newnodename) <> "" Then
newnode = New TreeNode(newnodename, 2, 2)
mynode.Nodes.Add(newnode)
mynode.SelectedImageIndex = 1
mynode.ImageIndex = 0
End If
End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim myresult As Microsoft.VisualBasic.MsgBoxResult
Dim myindex As Integer
Dim parentnode As TreeNodeIf mynode Is Nothing Then
MsgBox("没有选中节点", MsgBoxStyle.OkOnly)
Exit Sub
End Ifmyresult = MsgBox("是否要删除该节点和它的子节点?", MsgBoxStyle.OkOnly, "删除")
If myresult = MsgBoxResult.Ok Then
myindex = mynode.Index
If Not (mynode.Parent Is Nothing) Then
parentnode = mynode.Parent
mynode.Remove()
If parentnode.Nodes.Count < 1 Then
parentnode.ImageIndex = 2
parentnode.SelectedImageIndex = 2
mynode = parentnode
End If
Else
mynode.Remove()
mynode = Nothing
End If
End If
End SubPrivate Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
mynode = e.Node
End Sub
End Class