VB技巧:設置反使能控制
發表時間:2023-08-17 來源:明輝站整理相關軟件相關文章人氣:
[摘要]作者: BUILDER.COM當你在Visual Basic 6之中創建數據入口窗體時,你經常會需要根據應用程序的狀態來使能或反使能控制。要使你的應用程序看起來更加專業,就要在整個應用程序之中以同樣...
作者: 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
使用一種集中化的程序來設置控制狀態可以促進你的應用程序的連貫性,讓它看起來更加具有專業水準。由于代碼就在一個地方,集中化程序還可以使對控制狀態的修改變得很容易。