关于VB中的combo控件
其实就是一个比较简单的问题。如何卸载combo中的一个菜单项目(比如说combo中有“1”,“2”,“3”这3个选项,怎么才能去掉其中的“2”这个选项??希望可以提供代码...
其实就是一个比较简单的问题。如何卸载combo中的一个菜单项目(比如说combo中有“1”,“2”,“3”这3个选项,怎么才能去掉其中的“2”这个选项??希望可以提供代码
楼下的,请问那个“1”是什么意思哦?,如果是项目所在位置的话,那问一下如果不知道要删的项目在哪里,只知道要删的项目的名字那怎么办? 展开
楼下的,请问那个“1”是什么意思哦?,如果是项目所在位置的话,那问一下如果不知道要删的项目在哪里,只知道要删的项目的名字那怎么办? 展开
3个回答
展开全部
Combo1.RemoveItem X(0 <= X <= ItemCount-1)
如果是名字你可以写一个循环,以下是我的例子
Private Sub Form_Load()
Combo1.AddItem "aa"
Combo1.AddItem "aa"
Combo1.AddItem "v"
Combo1.AddItem "cccdcs"
RemoveItem Combo1, "aa", True '只将显示v和ccdcs。两个aa都被移除。
End Sub
Function RemoveItem(Combo As ComboBox, RemoveName As String, RemoveAll As Boolean) As Integer
Dim i As Integer
For i = Combo.ListCount - 1 To 0 Step -1 '倒着来
If Combo.List(i) = RemoveName Then '如果名字符合
Combo.RemoveItem (i) '删除它
RemoveItem = RemoveItem + 1 '移除项目计数器+1
If RemoveAll = False Then Exit Function '如果不用移除所有的就可以退出函数了
End If
Next
End Function
函数说明:参数1是ComboBox的名字,参数2是移出项目的名字,参数3是一个布尔型,True=移除全部,False=只移除第一个;返回值是移除了多少个。很方便吧。
你自己写函数要注意一点就是For循环一定要从后向前,因为你是移除项目,所以每移除一个,后面的Index都会上移,这样的处理代码麻烦,还不如倒着来。
提示:任何的移除项目都是从后向前比较好。
如果是名字你可以写一个循环,以下是我的例子
Private Sub Form_Load()
Combo1.AddItem "aa"
Combo1.AddItem "aa"
Combo1.AddItem "v"
Combo1.AddItem "cccdcs"
RemoveItem Combo1, "aa", True '只将显示v和ccdcs。两个aa都被移除。
End Sub
Function RemoveItem(Combo As ComboBox, RemoveName As String, RemoveAll As Boolean) As Integer
Dim i As Integer
For i = Combo.ListCount - 1 To 0 Step -1 '倒着来
If Combo.List(i) = RemoveName Then '如果名字符合
Combo.RemoveItem (i) '删除它
RemoveItem = RemoveItem + 1 '移除项目计数器+1
If RemoveAll = False Then Exit Function '如果不用移除所有的就可以退出函数了
End If
Next
End Function
函数说明:参数1是ComboBox的名字,参数2是移出项目的名字,参数3是一个布尔型,True=移除全部,False=只移除第一个;返回值是移除了多少个。很方便吧。
你自己写函数要注意一点就是For循环一定要从后向前,因为你是移除项目,所以每移除一个,后面的Index都会上移,这样的处理代码麻烦,还不如倒着来。
提示:任何的移除项目都是从后向前比较好。
2009-08-08
展开全部
Combo1.RemoveItem 1 '1表示删除项的位置,0 对应第一项
Dim i As Integer
Dim s As String
s = "2"
For i = 0 To Combo1.ListCount - 1
If Combo1.List(i) = s Then
Combo1.RemoveItem i
Exit For
End If
Next i
Dim i As Integer
Dim s As String
s = "2"
For i = 0 To Combo1.ListCount - 1
If Combo1.List(i) = s Then
Combo1.RemoveItem i
Exit For
End If
Next i
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Command1_Click()
Combo1.RemoveItem 1 '删除第二项
End Sub
Private Sub Form_Load()
Combo1.AddItem "1"
Combo1.AddItem "2"
Combo1.AddItem "3"
End Sub
Combo1.RemoveItem 1 '删除第二项
End Sub
Private Sub Form_Load()
Combo1.AddItem "1"
Combo1.AddItem "2"
Combo1.AddItem "3"
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询