VB技巧:设置反使能控制

来源:互联网 发布:东南大学网络充值服务 编辑:程序博客网 时间:2024/05/22 11:43
当你在Visual Basic 6之中创建数据入口窗体时,你经常会需要根据应用程序的状态来使能或反使能控制。要使你的应用程序看起来更加专业,就要在整个应用程序之中以同样的方式使能和反使能控制。 <img src="http://m2.cn.doubleclick.net/714347/motion_336.gif" border="0" /> 

例如,给文本框和组合框设置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 

使用一种集中化的程序来设置控制状态可以促进你的应用程序的连贯性,让它看起来更加具有专业水准。由于代码就在一个地方,集中化程序还可以使对控制状态的修改变得很容易。