ComboBox 的change 事件 怎么不起作用啊

ciscomcse 2004-06-16 09:50:49
我的代码如下:

Private Sub Combo1_Change()
MsgBox Me.Combo1.Text
End Sub

Private Sub Form_Load()
Me.Combo1.AddItem "全部"
Me.Combo1.AddItem "标准间"
Me.Combo1.AddItem "双人间"
Me.Combo1.AddItem "商务间"
Me.Combo1.AddItem "行政双人房"
Me.Combo1.AddItem "豪华单人间"
Me.Combo1.AddItem "豪华双人间"
Me.Combo1.AddItem "豪华商务间"
Me.Combo1.AddItem "总统套房"
Me.Combo1.Text = "全部"
End Sub

但是Change事件好象不起作用。但用Click事件来显示却每次打开窗体的时候就
会显示Combo1的值。有什么解决办法吗?
...全文
466 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiaozaodejia 2004-07-27
  • 打赏
  • 举报
回复
那是因为没有触发Change事件!用 timer控件吧
Option Explicit
Dim Txt As String
Private Sub Form_Load()
Txt = Combo1.Text
Me.Combo1.AddItem "全部"
Me.Combo1.AddItem "标准间"
Me.Combo1.AddItem "双人间"
Me.Combo1.AddItem "商务间"
Me.Combo1.AddItem "行政双人房"
Me.Combo1.AddItem "豪华单人间"
Me.Combo1.AddItem "豪华双人间"
Me.Combo1.AddItem "豪华商务间"
Me.Combo1.AddItem "总统套房"
Me.Combo1.Text = "全部"
End Sub

Private Sub Timer1_Timer()

Timer1.Interval = 100
If Txt <> Combo1.Text Then
MsgBox Combo1.Text
Txt = Combo1.Text
End If
End Sub
三楼の郎 2004-07-27
  • 打赏
  • 举报
回复
楼上的,不知道你所谓的用户用键盘是用键盘的那些键,如果仅仅是键盘的方向键的话Click事件一样能捕捉到而不用写一行代码。

另外,不知道换一个什么控件代替Combo,麻烦您老说清楚点!
CoolCHEN 2004-07-27
  • 打赏
  • 举报
回复
dim doCombo

Private Sub Combo1_Click()
if docombo=1 then MsgBox Me.Combo1.Text
End Sub

Private Sub Form_Load()
Me.Combo1.AddItem "全部"
Me.Combo1.AddItem "标准间"
Me.Combo1.AddItem "双人间"
Me.Combo1.AddItem "商务间"
Me.Combo1.AddItem "行政双人房"
Me.Combo1.AddItem "豪华单人间"
Me.Combo1.AddItem "豪华双人间"
Me.Combo1.AddItem "豪华商务间"
Me.Combo1.AddItem "总统套房"
Me.Combo1.Text = ""
docombo=1
End Sub

用click解决不了根本问题,楼主的意思好像是根据combo值的改变做其他事情吧,click可以捕捉鼠标,但如果用户用键盘呢?还要写很多代码,不如换一个控件代替combo
三楼の郎 2004-07-27
  • 打赏
  • 举报
回复
当你用键盘向Combo中输入字符的时候,才会触发Change事件,他的Change事件应该是从文本框继承过来的。

selectionchanged之类的事件就是Click事件
Libra_Chen 2004-07-27
  • 打赏
  • 举报
回复
难道没有诸如selectionchanged之类的事件吗?
Libra_Chen 2004-07-27
  • 打赏
  • 举报
回复
那么change事件有什么用?用click的话也不方便,触发的情况太多。
victorycyz 2004-06-16
  • 打赏
  • 举报
回复

Private Sub Combo1_Click()
MsgBox Me.Combo1.Text
End Sub

Private Sub Form_Load()
Me.Combo1.AddItem "全部"
Me.Combo1.AddItem "标准间"
Me.Combo1.AddItem "双人间"
Me.Combo1.AddItem "商务间"
Me.Combo1.AddItem "行政双人房"
Me.Combo1.AddItem "豪华单人间"
Me.Combo1.AddItem "豪华双人间"
Me.Combo1.AddItem "豪华商务间"
Me.Combo1.AddItem "总统套房"
Me.Combo1.Text = ""
End Sub

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧