VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 在程序中显示错误行
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:8132, 日期:2003-08-29
    在微软编程环境中,当有拼写错误时,系统就会自动显示错误的行,而无需打断程序员的编程思路,很多开发人员都喜欢微软的这一功能。在Visual Basic 6程序中,你也可以执行相同的功能。


以下代码行假设你在文本框中显示错误行,这些代码稍加更改就可以适用其他范围。

首先,在窗体中建立一个“线”控件,并把它的索引号定为0。接着,添加如下的代码:

Private Sub SetErrorState(ByVal ErrorState As Boolean, _
                          ByRef Control As Control)
    On Error Resume Next
    Load linError(Control.Index)
    
    With linError(Control.Index)
        Set .Container = Control.Container
        .X1 = Control.Left
        .X2 = Control.Left + Control.Width
        .Y1 = Control.Top + Control.Height + 10
        .Y2 = Control.Top + Control.Height + 10
        .BorderColor = vbRed
        .Visible = ErrorState
    End With
End Sub

以上程序将会在一个控件数组中建立新的线以匹配引入的控件。然后,设置线的容器以处理标签控件中的文本框。它设置了线的位置和颜色,如果ErrorState为True,线为可见。

在文本框的Validate事件添加以下代码,以调用SetErrorState方法:

If Text1(Index).Text = "1" Then
    注释:==Valid
    Call SetErrorState(False, Text1(Index))
Else
    注释:==Invalid
    Call SetErrorState(True, Text1(Index))
End If

相比于信息对话框,使用行来显示错误状态很少打断开发人员的编程思路,并且这一方法很容易学会。