回 帖 发 新 帖 刷新版面

主题:请教


   请问 VB 里的selcount 与 selected 怎么一起使用?

回复列表 (共3个回复)

沙发

selcount?
从哪里见到的这个词?能否贴出来含有这个词的一段话或代码或文章?

板凳

vb神童教程第二章第七节——列表框控件

8、SelCount(选中项目数量):
只有当 MultiSelect 属性值为 1 或 2 时,本属性才起作用,用来读取列表框中所选项目的数目,[color=FF0000]通常与 Selected 一起使用,以处理控件中的所选项目。[/color]

3 楼

奥,原来着这里的属性啊
一般用于list、combo控件的多选情形。
就用他们来判断你都选了些什么。
——————实际上,多选的时候,大多采用了“复选框”而不用这个控件。
——————就算用了这个控件,也可以只用selected而不用selcount。
闲话少说,就来说怎么用吧。

首先,控件的multiselect属性药设置为1或者2。
该属性为1时,可以一个一个的选取
该属性为2时,可以用鼠标配合shift按钮选择一片,一个一个选必须使用ctrl按钮


开始
Private Sub Form_Load()
List1.AddItem 1
List1.AddItem 25
List1.AddItem 3
List1.AddItem 14
List1.AddItem 45
List1.AddItem 26
List1.AddItem 254
List1.AddItem 45
List1.Text = "请选择"
End Sub

例如我们想将所有被选择的项目内容依次输出,可以采用以下代码:
Private Sub Command1_Click()
For i = 0 To List1.ListCount - 1
    If List1.Selected(i) Then Print List1.List(i)
Next i
End Sub

而配合selcount,通常是为了避免无意义的循环,尤其是在所选项目都偏前的情况下效率十分明显:
Private Sub Command1_Click()
剩余 = List1.SelCount
Do While 剩余 > 0
    If List1.Selected(i) Then
        Print List1.List(i)
        剩余 = 剩余 - 1
    End If
    i = i + 1
Loop
End Sub

我来回复

您尚未登录,请登录后再回复。点此登录或注册