VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - VB技巧:设置反使能控制
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:10284, 日期:2003-01-23
VB技巧:设置反使能控制

作者: BUILDER.COM
Thursday, January 2 2003 1:50 PM
当你在Visual Basic 6之中创建数据入口窗体时,你经常会需要根据应用程序的状态来使能或反使能控制。要使你的应用程序看起来更加专业,就要在整个应用程序之中以同样的方式使能和反使能控制。

  

例如,给文本框和组合框设置BackColor和Locked属性,而不是对他们进行反使能,这样用户仍然可以从这些控制之中拷贝文本。同样地,你可以在多行的文本框之中使用滚条。

对于一个特定类型的控制,任何必需的特殊处理都可以在SetControlState程序之中给出,这可以通过在"If TypeOf"声明中加入一个额外的检查来实现。






Public Sub SetControlState(ByRef EditControl As Control, _

                           ByVal AllowEdit As Boolean)

    Dim lngBackColor As Long
    
    If AllowEdit Then

        lngBackColor = vbWindowBackground

    Else

        lngBackColor = vbButtonFace

    End If
    
    With EditControl

        .BackColor = lngBackColor

        .TabStop = AllowEdit

        If TypeOf EditControl Is TextBox Then

            .Locked = Not AllowEdit

        ElseIf TypeOf EditControl Is ListBox Then

            .Enabled = AllowEdit

        ElseIf TypeOf EditControl Is ComboBox Then

            .Locked = Not AllowEdit

        End If

      End With

End Sub

使用一种集中化的程序来设置控制状态可以促进你的应用程序的连贯性,让它看起来更加具有专业水准。由于代码就在一个地方,集中化程序还可以使对控制状态的修改变得很容易。