VB技巧:設置反使能控制

發表于:2007-07-14來源:作者:點擊數: 標簽:
作者: BUILDER.COM 當你在Visual Basic 6之中創建數據入口窗體時,你經常會需要根據應用程序的狀態來使能或反使能控制。要使你的應用程序看起來更加專業,就要在整個應用程序之中以同樣的方式使能和反使能控制。 例如,給文本框和組合框設置BackColor和Lock
作者: BUILDER.COM

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

使用一種集中化的程序來設置控制狀態可以促進你的應用程序的連貫性,讓它看起來更加具有專業水準。由于代碼就在一個地方,集中化程序還可以使對控制狀態的修改變得很容易。 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97