【问题标题】:MsgBox is showed to load form before the ComboBox click event ocurrsMsgBox 显示为在 ComboBox 单击事件发生之前加载表单
【发布时间】:2015-07-15 23:10:05
【问题描述】:

我是 VB6 的新手。我有一个名为“combo”的组合框控件。当点击事件发生时,我需要显示所选组合项的值。但是显示 MsgBox 以加载表单

Private Sub combo_Click()

   label_1.Caption = combo.Text
   MsgBox combo.Text


End Sub

Private Sub combo_KeyPress(KeyAscii As Integer)
 KeyAscii = 0

End Sub

Private Sub Command1_Click()
    Dim nombre1 As String
    Dim apellido1 As String
    nombre1 = nombre.Text
    apellido1 = apellido.Text
    resultado.Text = nombre1 + " " + apellido1
End Sub


Private Sub Form_Load()
  combo.AddItem ("fernando")
  combo.AddItem ("juan")
  combo.AddItem ("pepep")
  combo.AddItem ("jose")
  combo.AddItem ("luis")
  combo.ListIndex = 0


End Sub

【问题讨论】:

  • 好吧,你从Form_Load设置ListIndex,自然会导致Click(当用鼠标或ListIndex更改值时触发)。
  • 非常感谢GSerg。问题是我需要项目“fernando”来加载表单。我该如何解决这个问题?

标签: combobox vb6


【解决方案1】:

即使没有点击,也会发生点击事件。当您放置combo.ListIndex = 0时,它会在表单加载中发生。取消此行并且在表单加载时不会出现msgbox。但是如果你想在表单加载时指定一个默认值,那么你可以使用 flag。

Private Ignore As Boolean
Private Sub combo_Click()
   Label_1.Caption = Combo.Text
   If Ignore Then
        Ignore = False
   Else
        MsgBox Combo.Text
   End If
End Sub
Private Sub Command1_Click()
    Dim nombre1 As String
    Dim apellido1 As String
    nombre1 = nombre.Text
    apellido1 = apellido.Text
    resultado.Text = nombre1 + " " + apellido1
End Sub
Private Sub Form_Load()
  Combo.AddItem ("fernando")
  Combo.AddItem ("juan")
  Combo.AddItem ("pepep")
  Combo.AddItem ("jose")
  Combo.AddItem ("luis")
  Ignore = True
  Combo.ListIndex = 0
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 2015-01-23
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多