初学VB的ComboBox的使用问题问题如下我有一个ComboB
问题如下 我有一个omboBox里面有3个选择项目S1,S2,S3,我现在想要如果选择S1则将另一个对象中的某个变量赋予T1,如果选择S2则另一个变量为T2....如果是Textbox是不是只要 if textbox.text=S1 then P = T1 elseif textbox.text=S2 then P = T2 else P = T3 End if 我感觉还是不太对,似乎P=T3被我扩大了. 请高手解释一下,特别是ComboBox的使用问题,谢谢~!
例: 1、在Form上放一个ComboBox,默认名称是Combo1。 2、在代码窗口添加Form_Load(),在这里做ComboBox的下拉列表。 代码如下: Private Sub Form_Load() Combo1.AddItem "S1" Combo1.AddItem "S2" Combo1.AddItem "S3" Combo1.Text = "" End Sub 方便起见,把你问题中的变量都写成它们的变量名了。"S1"、"S2"、"S3"都可以替换成变量。如果用变量,定义的语句最好写在代码页的最上面,方便在各个函数里使用。 3、用选择Combo1里的项目和用键盘上下键选择的时候,都会触发Combo1的Click事件。 添加代码: Private Sub Combo1_Click() Dim P As String If Combo1.Text = "S1" Then P = "T1" ElseIf Combo1.Text = "S2" Then P = "T2" ElseIf Combo1.Text = "S3" Then P = "T3" Else P = "" End If End Sub 想直观的看到P的变化的话,可以随便在Form上什么位置上加个Label。 在Combo1_Click()的End Sub上面加上句 Label1.Caption = P 4、此外,ComboBox文本框上的内容可以手动修改。但键盘输入的时候不响应ComboBox的Click事件。例如在Combo1的文本框内手动输入S3,Label上的文字不能及时变为T3。 推荐加上Combo1的Change事件。 Combo1_Change()里的代码可以把Click里的内容照搬过来,也可以简单写成 Private Sub Combo1_Change() Combo1_Click End Sub 意思就是当触发了ComboBox的Change事件时,让它执行Click事件里的操作。 关于“似乎P=T3被我扩大了”的问题更正一下我开始的“理论上是不会的”的想法。 似乎有一种情况会被扩大,就是手动输入的时候。所以加上 Else P = "" 还是比较好的。 大概就是这样了。