分类：电脑/网络-程序设计
问题：初学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 = ""还是比较好的。大概就是这样了。