主题:请教
kydos
[专家分:0] 发布于 2009-07-20 17:38:00
请问 VB 里的selcount 与 selected 怎么一起使用?
回复列表 (共3个回复)
沙发
LUANJINLING [专家分:450] 发布于 2009-07-21 17:07:00
selcount?
从哪里见到的这个词?能否贴出来含有这个词的一段话或代码或文章?
板凳
kydos [专家分:0] 发布于 2009-07-24 20:17:00
vb神童教程第二章第七节——列表框控件
8、SelCount(选中项目数量):
只有当 MultiSelect 属性值为 1 或 2 时,本属性才起作用,用来读取列表框中所选项目的数目,[color=FF0000]通常与 Selected 一起使用,以处理控件中的所选项目。[/color]
3 楼
老大徒伤悲 [专家分:29120] 发布于 2009-07-24 20:55:00
奥,原来着这里的属性啊
一般用于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
我来回复