[ErrorProvider][Tips] 任意のアイコンを表示する


ErrorProviderを使用してエラーメッセージを表示した場合は、既定のアイコン(背景が赤の、円で囲んだ感嘆符)が表示されます。

これを任意のアイコンに変更するには、ErrorProviderのIconプロパティに設定します。

下記は、ErroProviderのアイコンを、任意のアイコンに変更して表示する例です。

フォームロード時にInfo.icoというアイコンを設定しています。

VBの例

' フォームロード時の処理
Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    '★★★任意のアイコンを設定する★★★
    ErrorProvider1.Icon = New Icon("Info.ico")
End Sub

' テキストボックスの内容検証処理
Private Sub txtAge_Validating(sender As System.Object, e As System.ComponentModel.CancelEventArgs) Handles txtAge.Validating
    Try
        '入力値を数値に変換する
        Dim iNum As Integer = Integer.Parse(txtAge.Text)

        '正常に整数に変換できた場合はエラーをクリアする
        ErrorProvider1.SetError(txtAge, "")
    Catch ex As Exception
        'イベントをキャンセルする
        e.Cancel = True

        '例外が発生したのでエラーを表示する
        ErrorProvider1.SetError(txtAge, "整数値以外の文字が入力されました!!")
    End Try
End Sub

C#の例

// フォームロード時の処理
private void Form2_Load(object sender, EventArgs e)
{
    // 任意のアイコンを設定する
    errorProvider1.Icon = new Icon("Info.ico");
}

// テキストボックスの内容検証処理
private void txtAge_Validating(object sender, CancelEventArgs e)
{
    try
    {
        // 入力値を数値に変換する
        int iAge = int.Parse(txtAge.Text);

        // 正常に整数に変換できた場合はエラーをクリアする
        errorProvider1.SetError(txtAge, "");
    }
    catch (Exception)
    {
        e.Cancel = true;

        // ★★★例外が発生したのでエラーを表示する★★★
        errorProvider1.SetError(txtAge, "整数値以外の文字が入力されました!!");
    }
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください