ExceptionMessageBox.CheckBoxRegistryKey プロパティ

定義

開いている RegistryKey を設定して、ShowCheckBoxtrue の場合に例外メッセージ ボックスに表示されるチェック ボックスを制御します。

public:
 property Microsoft::Win32::RegistryKey ^ CheckBoxRegistryKey { Microsoft::Win32::RegistryKey ^ get(); void set(Microsoft::Win32::RegistryKey ^ value); };
public Microsoft.Win32.RegistryKey CheckBoxRegistryKey { get; set; }
member this.CheckBoxRegistryKey : Microsoft.Win32.RegistryKey with get, set
Public Property CheckBoxRegistryKey As RegistryKey

プロパティ値

RegistryKeytrue の場合に例外メッセージ ボックスに表示されるチェック ボックスを制御する ShowCheckBox です。

try
{
    // Do something that could generate an exception.
    throw new ApplicationException("An error has occured.");
}
catch (ApplicationException ex)
{
    string str = "The action failed. Do you want to continue?";
    ApplicationException exTop = new ApplicationException(str, ex);
    exTop.Source = this.Text;

    // Show a message box with Yes and No buttons
    ExceptionMessageBox box = new ExceptionMessageBox(exTop,
        ExceptionMessageBoxButtons.YesNo,
        ExceptionMessageBoxSymbol.Question,
        ExceptionMessageBoxDefaultButton.Button2);

    // Enable the check box.
    box.ShowCheckBox = true;

    // Define the registry key to use.
    box.CheckBoxRegistryKey =
        Microsoft.Win32.Registry.CurrentUser.CreateSubKey(
        @"Software\TestApp");
    box.CheckBoxRegistryValue = "DontShowActionFailedMessage";
    box.CheckBoxRegistryMeansDoNotShowDialog = true;
    box.DefaultDialogResult = DialogResult.Yes;

    // The message box won't be displayed if the
    // "DontShowActionFailedMessage" value of the registry key 
    // contains a non-zero value.
    if (box.Show(this) == DialogResult.No)
    {
        // Do something if the user clicks the No button.
        this.Close();
    }
}
Try
    ' Do something that could generate an exception.
    Throw New ApplicationException("An error has occured.")
Catch ex As ApplicationException
    Dim str As String = "The action failed. Do you want to continue?"
    Dim exTop As ApplicationException = New ApplicationException(str, ex)
    exTop.Source = Me.Text

    ' Show a message box with Yes and No buttons
    Dim box As ExceptionMessageBox = New ExceptionMessageBox(exTop, _
     ExceptionMessageBoxButtons.YesNo, _
     ExceptionMessageBoxSymbol.Question, _
     ExceptionMessageBoxDefaultButton.Button2)

    ' Enable the check box.
    box.ShowCheckBox = True

    ' Define the registry key to use.
    box.CheckBoxRegistryKey = _
    Microsoft.Win32.Registry.CurrentUser.CreateSubKey( _
     "Software\TestApp")
    box.CheckBoxRegistryValue = "DontShowActionFailedMessage"
    box.CheckBoxRegistryMeansDoNotShowDialog = True
    box.DefaultDialogResult = Windows.Forms.DialogResult.Yes

    ' The message box won't be displayed if the
    ' "DontShowActionFailedMessage" value of the registry key 
    ' contains a non-zero value.
    If box.Show(Me) = Windows.Forms.DialogResult.No Then
        ' Do something if the user clicks the No button.
        Me.Close()
    End If
End Try

注釈

このプロパティでは、CheckBoxRegistryValue が使用され、チェック ボックスのオンの状態が初期化されます。 指定されたレジストリ値が存在し、0 ではない値が含まれる場合は、チェック ボックスがオンの状態で表示されます。それ以外の場合は、チェック ボックスがオフの状態で表示されます。 CheckBoxRegistryMeansDoNotShowDialogtrue で、レジストリ値が存在しており、0 ではない値が含まれる場合は、メッセージ ボックスが表示されず、ExceptionMessageBox が呼び出される際に DefaultDialogResult により Show が返されます。

RegistryKey は、Show を呼び出す前にアプリケーションによって開かれる必要があります。

適用対象