一、如何控制可写ComboBox的MaxLength
二、两个ComboBox   一个可写 一个不可写  如何 在触发不可写的ComboBox事件中 让那个可写的ComboBox也不可写
谢谢

解决方案 »

  1.   


    Private Const nMax% = 5Private Sub Combo1_change()
    Text1.MaxLength = nMax
    Text1 = Combo1
    If Len(Combo1) >= 5 Then Combo1 = Text1
    Combo1.SelStart = Len(Combo1)
    End SubPrivate Sub Form_Load()
    text1.Visible=False
    Text1 = ""
    End Sub
    上面是控制可写ComboBox的MaxLength的代码,你下面的问题提的不明白,什么叫触发不可写的ComboBox事件,指的是什么事件?
      

  2.   

    就是ComboBox1和ComboBox2
    1不能写   2可以写
    我现在点1 选择了一个后  2变成了不可写 只能下拉
      

  3.   

    Option Explicit
    Public xx As Boolean
    Private Sub Combo1_Click()
        If Combo1.Text = 2 Then
            xx = True
        Else
            xx = False
        End If
    End SubPrivate Sub Combo2_KeyPress(KeyAscii As Integer)
        If xx = True Or Len(Combo2.Text) > 5 Then
            KeyAscii = 0
        End If
        
    End SubPrivate Sub Form_Load()
        'Me.Combo1.Style = 2 'set value in Design
        Me.Combo1.AddItem "1"
        Me.Combo1.AddItem "2"
        Me.Combo1.AddItem "3"    Me.Combo2.AddItem "3"
        Me.Combo2.AddItem "4"
        Me.Combo2.AddItem "5"
    End Sub
      

  4.   

    1Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Private Const CB_LIMITTEXT = &H141Private Sub Form_Load()
    Const Max_Char = 24
    Call SendMessage(Combo1.hWnd, CB_LIMITTEXT, Max_Char, 0&)
    End Sub2
    ComboBox 的 Style 属性运行时是只读的。你可以将 Combo2 用 2 个重叠在一起的 ComboBox 来实现,一个预先设置为 Style = 0,另一个预先设置为 Style = 2。Private Sub Form_Load()
    Dim i As IntegerFor i = 1 To 16
    Combo2(0).AddItem i
    Combo2(1).AddItem i
    Next iCombo2(0).Visible = True
    Combo2(1).Visible = False
    End SubPrivate Sub Combo1_Click()
    Combo2(1).Visible = True
    Combo2(2).Visible = False
    End Sub如果在什么条件下还可以恢复 Combo2 的输入的话,换回来即可。记住,当 Combo2(0) 添加或删除项目时,Combo2(1) 也要相应操作,保持同步。