明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

VB技巧:設(shè)置反使能控制

[摘要]作者: BUILDER.COM當(dāng)你在Visual Basic 6之中創(chuàng)建數(shù)據(jù)入口窗體時(shí),你經(jīng)常會(huì)需要根據(jù)應(yīng)用程序的狀態(tài)來使能或反使能控制。要使你的應(yīng)用程序看起來更加專業(yè),就要在整個(gè)應(yīng)用程序之中以同樣...
作者: BUILDER.COM

當(dāng)你在Visual Basic 6之中創(chuàng)建數(shù)據(jù)入口窗體時(shí),你經(jīng)常會(huì)需要根據(jù)應(yīng)用程序的狀態(tài)來使能或反使能控制。要使你的應(yīng)用程序看起來更加專業(yè),就要在整個(gè)應(yīng)用程序之中以同樣的方式使能和反使能控制。

  

例如,給文本框和組合框設(shè)置BackColor和Locked屬性,而不是對他們進(jìn)行反使能,這樣用戶仍然可以從這些控制之中拷貝文本。同樣地,你可以在多行的文本框之中使用滾條。

對于一個(gè)特定類型的控制,任何必需的特殊處理都可以在SetControlState程序之中給出,這可以通過在"If TypeOf"聲明中加入一個(gè)額外的檢查來實(shí)現(xiàn)。






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

使用一種集中化的程序來設(shè)置控制狀態(tài)可以促進(jìn)你的應(yīng)用程序的連貫性,讓它看起來更加具有專業(yè)水準(zhǔn)。由于代碼就在一個(gè)地方,集中化程序還可以使對控制狀態(tài)的修改變得很容易。