[c++] vb列表框ListBox

[复制链接]
梅雷工具箱发表于 2015-6-25 13:32:16 | 显示全部楼层 |阅读模式
vb列表框ListBox


因为是只读属性 所以只能在 属性区更改  不能用代码更改
MultiSelect=0 '只选择一个
MultiSelect=1 '可选择多个

Sorted=True   '排序
Sorted=False  '时不区分大小写。
----------------------------------------------------------------
'给列表中的元素赋值
List1.AddItem "China"
List1.AddItem "America"
List1.AddItem "Japan"
List1、List2    '列表框
----------------------------------------------------------------
'显示 项目内容List1
Text1 =List1
'显示 第i个项目内容
i=1
Text1 =List1.List(i-1)
----------------------------------------------------------------

'返回被选中第几项
text1 = List1.ListIndex + 1
----------------------------------------------------------------
'第i个项目被选中
i=1
List1.Selected(i-1) = True

'第i个项目被取消 (不被选中)
i=1
List1.Selected(i-1) = False

'返回列表框中的项目总数
zs = List1.ListCount

'返回列表框中的项目位置(一个以上 返回最后一个位置)
Text1= List1.ListIndex
返回0第一个被选中 、、返回-1没有 项目被选中


'判断列表框是否只有一个项目被选中
    If List1.SelCount = 1 Then
----------------------------------------------------------------
----------------------------------------------------------------
LefttoRightCmd  '移动所选项目到另一个列表框(左到右)
RighttoLeftCmd  '移动所选项目到另一个列表框(右到左)
----------------------------------------------------------------
'删除 被选中的 项目
Private Sub Command1_Click()
    Dim i As Integer
    '判断列表框是否只有一个项目被选中
    If List1.SelCount = 1 Then
   
        List1.RemoveItem List1.ListIndex
        
    ElseIf List1.ListCount > 1 Then
   
        '删除列表框中的所选中的多个项目
        For i = List1.ListCount - 1 To 0 Step -1
        'ListCount返回列表框中的项目总数
        'ListCount-1是列表框中最后一个项目的索引号
            
            '判断该项目是否被选中,Selected()返回布尔值
            If List1.Selected(i) Then
                '删除索引号为i的项目
                List1.RemoveItem i
               
            End If
        Next
    End If
End Sub

----------------------------------------------------------------

----------------------------------------------------------------
Private Sub Command2_Click()
  List1.Clear '清空列表
End Sub
----------------------------------------------------------------
i=1 '如要删除列表中的第一个项目(可删除第N个项目)
List1.RemoveItem i-1

List1AddCmd     '给列表框List1增加新项目

---------------------------------------------------------------

语法结构: object.MultiSelect = [ Number ]
Sorted 为True时,自动将列表按字母顺序重新排列,排序时不区分大小写。
Style 表示列表框中项目的显示形式,运行时只读。其值为0时,为标准方式显示;
为1时,在每个项目前加上一个复选框。

----------------------------------------------------------------

1)可以在设计时添加项目。做法:选列表框“属性”窗口中[List]属性,
在下拉的空白框中输入项目,并按[CTRL]+[回车]键进行换行。

2)只能在列表末端添加项目。
----------------------------------------------------------------

3)常用属性

属性 描述 代码及界面显示
List (1)在设计时可向列表框中添加新项目,输人时用Ctrl+Enter组合键换行(2)在代码中可用来访问列表框中的所有项目,它包含了一个字符串数组,列表框中的每个项目都是这个数组的元素。其引用格式为:
s$=ListBox控件名.List(索引值)
其中:<索引值>为数值表达式,指定项目在列表中的位置,它是从0开始的。
例:s$=list1.list(6)将列出list1的第七项内容。
Private Sub Command1_Click()
Text1.Text = List1.List(2)
End Sub
也可改变数组中已有的值,格式:
ListBox控件名.List(索引值)=s$
例list1.list(3)="AAAA"将把list1的第四项的内容设为AAAA。 Option Explicit
Private Sub Command1_Click()
Text1.Text = "You have" & List1.ListCount & "_entrifs lister"
End Sub

Private Sub Command2_Click()
Text1.Text = List1.List(3)
End Sub

Private Sub Command3_Click()
Text1.Text = List1.ListIndex
End Sub

Private Sub Form_Load()
List1.AddItem "Germany"
List1.AddItem "India"
List1.AddItem "France"
List1.AddItem "Canada"
List1.AddItem "USA"
List1.AddItem "Japan", 0
List1.AddItem "China", 1
End Sub

Private Sub List1_Click()
If List1.Text = "Canada" Then
Text1.Text = "Canada have 24 million people."
End If
End Sub



ListCount 返回列表框中项目的总数,只在运行时可用。例:
Private Sub Command2_Click()
Text1.Text = "You have" & List1.ListCount & "_entrifs lister"
End Sub
ListIndex 返回在列表框中当前选定项目的位置,只在运行时可用。未选定任何项目时,其值为-l。例:
Private Sub Command3_Click()
Text1.Text = List1.ListIndex
End Sub
Text 存放当前在列表框中选定的项目,即List(ListIndex)的值。例:
Private Sub List1_Click()
If List1.Text = "Canada" Then
Text1.Text = "Canada have 24 million people."
End If
End Sub

Columns 指定列表框中的列数。其值为0时,列表框以垂直滚动的单列方式显示;为l时,列表框以水平滚动的单列方式显示;大于l时,列表框以水平滚动的多列方式显示。 Option Explicit

Private Sub Form_Load()
Dim i As Integer
For i = 0 To Screen.FontCount - 1
List1.AddItem Screen.Fonts(i)'“Columns”属性0
List2.AddItem Screen.Fonts(i)'“Columns”属性1
Next i
End Sub

----------------------------------------------------------------






        
        For i = List2.ListCount - 1 To 0 Step -1
            '如果该元素被选中,则将其从右边移至左边
            If List2.Selected(i) Then
               
                List1.AddItem List2.List(i)
                List2.RemoveItem i
            End If
        Next i
    End If
   
End Sub


_____________________________________________________________________________ _

中磊UG二次开发教程 梅雷著 qq1821117007
学UG就上UG网 http://www.9sug.com/
就上UG网淘宝直营店
您需要登录后才可以回帖 登录 | 注册UG网 用百度帐号登录

本版积分规则