VB Combo对其中选定项的修改

来源:百度知道 编辑:UC知道 时间:2024/05/16 12:05:47
style是0,下拉式组合框
某个按钮的click事件:
Dim nIndex%
nIndex = Combo1.ListIndex
Combo1.RemoveItem Combo1.ListIndex
Combo1.AddItem Combo1.Text, nIndex
Combo1.Refresh
这样写的目的是:选定其中某项,然后在combo1.text里修改,然后点击外部按钮在原来的位置替换为新的内容。但是为什么这样写列表框里的内容没改呢?如果把Combo1.AddItem Combo1.Text, nIndex改成Combo1.AddItem "随便字符串", nIndex却可以。这是什么原因?我应该怎么改呢?请各位大侠帮帮小弟。

原因很简单,当你修改combo1.text时,combo1.listindex被修改为-1,那么接下来你进行的工作都白费了。
代码修改如下:
Option Explicit
Dim nIndex%
Dim S$

Private Sub Combo1_Change()
S$ = Combo1.Text
End Sub

Private Sub Combo1_Click()
nIndex% = Combo1.ListIndex
End Sub

Private Sub Command1_Click()
Combo1.RemoveItem nIndex%
Combo1.AddItem S$, nIndex%
Combo1.Refresh
End Sub