如: 有 option1(0),option1(1),option1(2),option1(3),option1(4) 
      text1    command1
    我想有这样的结果: 在text1中输入,当text1.text 与某个option的 caption值相同时,该option的value = true

解决方案 »

  1.   

    private sub text1_change()
        dim i as integer
        for i = lbound(option1) to unound(option1)
            if option1(i).caption = text1.text then
                option1(i).value = true
                exit for
            end if
        next
    end if
      

  2.   

    private sub text1_changed()
      for i = 0 to 4
        if text1.text = option(i).caption then option(i).value = vbChecked
      next iend sub
      

  3.   

    两个疑惑:
    1、怎样在不触发option的事件的情况下设置 option的值?
    2、怎样在不触发option的事件的情况下读取 option的值(true/false)?
      

  4.   

    1.'定義一個布爾類型的變量
    private m_blnRaiseEvent as boolean
    private sub option1_click()
        if m_blnRaiseEvent then
            msgbox ""
            m_blnRaiseEvent = false
        end if
    end sub
    private sub command1_click()
        m_blnRaiseEvent  = false
        option1.value = true
    end sub
    2.讀取option的值不會触发option1_click事件.
      

  5.   

    谢谢大家的帮忙!
    可是这样不行:if option1(i).caption = text1.text then option1(i).value = true
    没有反映。
      

  6.   

    Private Sub Text1_Change()
        For i = 0 To Option1.UBound
            If Option1(i).Caption = Trim(Text1.Text) Then
                Option1(i).Value = True
                Exit For
            End If
        Next
    End Sub
    这我是试过的。能用。