VB技巧:設(shè)置反使能控制
發(fā)表時(shí)間:2023-08-17 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]作者: 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)的修改變得很容易。