以下代碼行假設(shè)你在文本框中顯示錯誤行,這些代碼稍加更改就可以適用其他范圍。
首先,在窗體中建立一個“線”控件,并把它的索引號定為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
以上程序?qū)谝粋€控件數(shù)組中建立新的線以匹配引入的控件。然后,設(shè)置線的容器以處理標簽控件中的文本框。它設(shè)置了線的位置和顏色,如果ErrorState為True,線為可見。
在文本框的Validate事件添加以下代碼,以調(diào)用SetErrorState方法:
If Text1(Index).Text = "1" Then
注釋:==Valid
Call SetErrorState(False, Text1(Index))
Else
注釋:==Invalid
Call SetErrorState(True, Text1(Index))
End If
相比于信息對話框,使用行來顯示錯誤狀態(tài)很少打斷開發(fā)人員的編程思路,并且這一方法很容易學會。