VB技巧:设置反使能控制
【打印文章】
作者: 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
使用一种集中化的程序来设置控制状态可以促进你的应用程序的连贯性,让它看起来更加具有专业水准。由于代码就在一个地方,集中化程序还可以使对控制状态的修改变得很容易。
当你在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
使用一种集中化的程序来设置控制状态可以促进你的应用程序的连贯性,让它看起来更加具有专业水准。由于代码就在一个地方,集中化程序还可以使对控制状态的修改变得很容易。
本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )
【编程爱好者论坛】