VB技巧:设置反使能控制

ZDNet软件频道 时间:2003-01-02 作者:BUILDER.COM |  我要评论()
本文关键词:vb
当你在Visual Basic 6之中创建数据入口窗体时,你经常会需要根据应用程序的状态来使能或反使能控制。要使你的应用程序看起来更加专业,就要在整个应用程序之中以同样的方式使能和反使能控制。

当你在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 

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

责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134