65.9K
CodeProject 正在变化。 阅读更多。
Home

本地化 ErrorProvider

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2010年11月16日

CPOL
viewsIcon

21162

downloadIcon

223

使您的 ErrorProvider 符合 .NET 本地化标准

引言

.NET 的 ErrorProvider 是一种向用户告知其输入的数据存在问题的好方法。但是,如果您正在开发多语言应用程序,则维护不同语言的消息会变得非常困难。

您必须在代码中设置 ErrorText,并且没有像标签、按钮等那样轻松维护这些文本的方式。

Using the Code

我的 ErrorProvider 是一个子类化的 ErrorProvider,它允许您为每个控件存储一段文本。如果您想为每个控件使用多个消息(例如,“此字段必须填写”和“不允许数字”),那么您需要两个 ErrorProvider

以下是一个已标记为可本地化 True 的表单的示例,其中包含一个名为 EmailTextBox

ControlWithErrorProvider.png

ErrorProviderInPropertyGrid.png

在设计器中输入文本后,您将获得如下生成的代码

Private Sub InitializeComponent  
....
        Me.ErrorProvider.SetError(Me.Email, resources.GetString("Email.Error"))
        resources.ApplyResources(Me.Email, "Email")
        Me.Email.Name = "Email"
.... 

在控件的 Validating 事件处理程序中,您放置如下代码

Private Sub Email_Validating(ByVal sender As Object, _
	ByVal e As System.ComponentModel.CancelEventArgs) Handles Email.Validating
    If (Me.Email.TextLength = 0) _
    OrElse (Me.Email.Text.Contains("@") _
    AndAlso Me.Email.Text.Contains(".")) Then
        Me.ErrorProvider.HideError(Me.Email)
    Else
        Me.ErrorProvider.ShowError(Me.Email)
    End If
End Sub

历史

  • 2010年11月16日:初始版本
© . All rights reserved.