Winform:如何在空字段上显示错误图标?

时间:2017-07-05 18:52:31

标签: vb.net

我有一个带有一些绑定字段的表单的VB.Net应用程序。

当我在字段中输入错误数据时,ErrorProvider会自动显示红色ico。

当某些必填字段为空时,是否有任何显示相同图标的方法?

以下是我的控件的绑定代码:

{{1}}

方法 ErrorProvider.SetError 不是一个选项,因为控件是在单独的进程中创建的,并且无法访问ErrorProvider。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以在案例中使用自定义类:

Public Class customdatatable
        Implements IDXDataErrorInfo

        Private _value As String
        Public Sub New()
            MyBase.New()
        End Sub
        Public Property C1() As String
            Get
                Return _value
            End Get
            Set(ByVal value As String)
                _value = value
            End Set
        End Property


        Public Sub GetPropertyError(ByVal name As String, ByVal errorinfo As ErrorInfo) _
          Implements IDXDataErrorInfo.GetPropertyError
            If (name = "C1" And C1 = "") Then
                errorinfo.ErrorText = String.Format("Empty value")
            End If
        End Sub

        Public Sub GetError(ByVal errorinfo As ErrorInfo) Implements IDXDataErrorInfo.GetError
        End Sub
    End Class

然后将其应用于您的表单:

Dim DT = New customdatatable With {.C1 = 5} ''GetDT()
TextEdit1.DataBindings.Add(New Binding("EditValue", DT ,"C1", True))
DxErrorProvider1.DataSource = DT 

如果您不想丢失对文本字段的焦点控制,只需在主屏幕中使用它。

Dim field2 = GetDT()
TextEdit1.DataBindings.Add(New Binding("EditValue", field2,"C1", True))
DxErrorProvider1.DataSource = field2