本地化 ErrorProvider
使您的 ErrorProvider 符合 .NET 本地化标准
引言
.NET 的 ErrorProvider
是一种向用户告知其输入的数据存在问题的好方法。但是,如果您正在开发多语言应用程序,则维护不同语言的消息会变得非常困难。
您必须在代码中设置 ErrorText
,并且没有像标签、按钮等那样轻松维护这些文本的方式。
Using the Code
我的 ErrorProvider
是一个子类化的 ErrorProvider
,它允许您为每个控件存储一段文本。如果您想为每个控件使用多个消息(例如,“此字段必须填写”和“不允许数字”),那么您需要两个 ErrorProvider
。
以下是一个已标记为可本地化 True
的表单的示例,其中包含一个名为 Email
的 TextBox
在设计器中输入文本后,您将获得如下生成的代码
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日:初始版本