黄埔末期生

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

image

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

 

image

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 Sub

    Private Sub RadioButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton1.Click
        Me.ListView1.Sorting = SortOrder.Ascending
    End Sub

    Private Sub RadioButton2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton2.Click
        Me.ListView1.Sorting = SortOrder.Descending
    End Sub

    Private Sub RadioButton3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton3.Click
        Me.ListView1.Sorting = SortOrder.None
    End Sub

    Public Sub myinitialize()
        Dim mycount As Integer
        mycount = Me.ListView1.Items.Count
        Me.ToolStripStatusLabel1.Text = "共有" + Str(mycount) + "个对象"
    End Sub

    Private Sub Form5_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Me.myinitialize()
    End Sub
End Class

 

image

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 TreeNode

    Private 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 Sub

    Private 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 TreeNode

        If mynode Is Nothing Then
            MsgBox("没有选中节点", MsgBoxStyle.OkOnly)
            Exit Sub
        End If

        myresult = 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 Sub

    Private Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
        mynode = e.Node
    End Sub
End Class

image

posted on 2010-10-14 16:34  黄埔末期生  阅读(986)  评论(0编辑  收藏  举报