[Tips][ToolTip] まとめ

これまでに紹介したToolTipのTipsは下記の通りです。

  1. コントロールにツールヒントを表示する
  2. ツールヒントにバルーンウィンドウを使用する
  3. ツールヒントウィンドウにタイトルを表示する
  4. ツールヒントを無効にする
  5. ツールヒントにアイコンを表示する
  6. ToolTipコンテナーがアクティブではない場合でもツールヒントを表示する
  7. 各種遅延時間を設定する
  8. アニメーション効果を使用する

[Tips][ToolTip] アニメーション効果を使用する

ToolTipでは、ツールヒントを表示する際にアニメーション効果を使用することができます。

アニメーション効果を使用する場合はUseAnimationプロパティにTrueを設定します。また、フェード効果を使用する場合はUseFadingプロパティにTrueを設定します。

下記はアニメーション効果を使用する例です。

各チェックボックスのチェック状態に合わせてアニメーション効果を設定します。

VBの例

' フォームロード時の処理
Private Sub Form8_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    '各コントロールにツールヒントを設定
    ToolTip1.SetToolTip(txtUserID, "ユーザーIDを入力します")
    ToolTip1.SetToolTip(txtPassword, "パスワードを入力します")
    ToolTip1.SetToolTip(btnLogin, "ログインします")
End Sub

' [アニメーション効果を使用する]チェック変更時の処理
Private Sub chkUseAnimation_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chkUseAnimation.CheckedChanged
    '★★★アニメーション効果のON/OFF★★★
    ToolTip1.UseAnimation = chkUseAnimation.Checked
End Sub

' [フェード効果を使用する]チェック変更時の処理
Private Sub chkUseFading_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chkUseFading.CheckedChanged
    '★★★フェード効果のON/OFF★★★
    ToolTip1.UseFading = chkUseFading.Checked
End Sub

C#の例

// フォームロード時の処理
private void Form8_Load(object sender, EventArgs e)
{
    // 各コントロールにツールヒントを設定
    toolTip1.SetToolTip(txtUserID, "ユーザーIDを入力します");
    toolTip1.SetToolTip(txtPassword, "パスワードを入力します");
    toolTip1.SetToolTip(btnLogin, "ログインします");
}

// [アニメーション効果を使用する]チェック変更時の処理
private void chkUseAnimation_CheckedChanged(object sender, EventArgs e)
{
    // ★★★アニメーション効果のON/OFF★★★
    toolTip1.UseAnimation = chkUseAnimation.Checked;
}

// [フェード効果を使用する]チェック変更時の処理
private void chkUseFading_CheckedChanged(object sender, EventArgs e)
{
    // ★★★フェード効果のON/OFF★★★
    toolTip1.UseFading = chkUseFading.Checked;
}

[Tips][ToolTip] 各種遅延時間を設定する

ToolTipコントロールは、様々な遅延時間を設定するためのプロパティが備わっています。

下表に遅延時間を設定できるプロパティを示します。

遅延時間設定プロパティ
プロパティ名 説明
AutoPopDelay ツールヒントが表示されてから消えるまでの時間を取得/設定する
InitialDelay ツールヒントが表示されるまでの時間を取得/設定する
ReshowDelay ポインターが別のコントロールに移動したとき、次のツールヒントが表示されるまでの時間を取得/設定する
AutomaticDelay このプロパティに値を設定すると、上記3つのプロパティ値が自動設定される。
AutoPopDelay: AutomatiDelayプロパティ値の10倍
InitialDelay: AutomaticDelayプロパティ値と同じ
ReshowDelay: AutomaticDelayプロパティ値の1/5

下記は各種遅延プロパティを設定する例です。

フォームロード時には、AutoPopDelay, InitialDelay, ReshowDelayの値を設定します。

[AutomaticDelayによる自動遅延の設定]ボタンがクリックされた場合は、AutomaticDelayプロパティに値を設定し、各種遅延プロパティ値を自動設定します。

VBの例

' フォームロード時の処理
Private Sub Form7_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    '各コントロールにツールヒントを設定
    ToolTip1.SetToolTip(txtUserID, "ユーザーIDを入力します")
    ToolTip1.SetToolTip(txtPassword, "パスワードを入力します")
    ToolTip1.SetToolTip(btnLogin, "ログインします")

    '★★★ツールヒントが表示されてから消えるまでの時間(10秒)★★★
    ToolTip1.AutoPopDelay = 10000

    '★★★ツールヒントが表示されるまでにポインターが静止する必要のある時間(100ミリ秒)★★★
    ToolTip1.InitialDelay = 100

    '★★★ポインターが別のコントロールに移動したとき、次のツールヒントが表示されるまでの時間(250ミリ秒)★★★
    ToolTip1.ReshowDelay = 250
End Sub

' [AutomaticDelayによる自動遅延の設定]ボタンクリック時の処理
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    '★★★ツールヒントの自動遅延を設定(250ミリ秒)★★★
    'AutoPopDelay = 250ミリ秒 × 10
    'InitialDelay = 250ミリ秒
    'ReshowDelay  = 250ミリ秒 ÷ 5
    ToolTip1.AutomaticDelay = 250
End Sub

C#の例

// フォームロード時の処理
private void Form7_Load(object sender, EventArgs e)
{
    // 各コントロールにツールヒントを設定
    toolTip1.SetToolTip(txtUserID, "ユーザーIDを入力します");
    toolTip1.SetToolTip(txtPassword, "パスワードを入力します");
    toolTip1.SetToolTip(btnLogin, "ログインします");

    // ★★★ツールヒントが表示されてから消えるまでの時間(10秒)★★★
    toolTip1.AutoPopDelay = 10000;

    // ★★★ツールヒントが表示されるまでにポインターが静止する必要のある時間(100ミリ秒)★★★
    toolTip1.InitialDelay = 100;

    // ★★★ポインターが別のコントロールに移動したとき、次のツールヒントが表示されるまでの時間(250ミリ秒)★★★
    toolTip1.ReshowDelay = 250;
}

// [AutomaticDelayによる自動遅延の設定]ボタンクリック時の処理
private void Button1_Click(object sender, EventArgs e)
{
    // ★★★ツールヒントの自動遅延を設定(250ミリ秒)★★★
    // AutoPopDelay = 250ミリ秒 × 10
    // InitialDelay = 250ミリ秒
    // ReshowDelay  = 250ミリ秒 ÷ 5
    toolTip1.AutomaticDelay = 250;
}

[Tips][ToolTip] ToolTipコンテナーがアクティブではない場合でもツールヒントを表示する

通常ツールヒントは、ツールヒントを格納しているコンテナーがアクティブでないと表示されません。

ToolTipコンテナーがアクティブではない場合でもツールヒントを表示するにはShowAlwaysプロパティにTrueを設定します。

下記は、ShowAlwaysプロパティをTrueにし、ツールヒントが表示されるようにする例です。

非アクティブウィンドウであってもツールヒントを表示することが可能となります。

VBの例

' フォームロード時の処理
Private Sub Form6_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    '各コントロールにツールヒントを設定
    ToolTip1.SetToolTip(txtUserID, "ユーザーIDを入力します")
    ToolTip1.SetToolTip(txtPassword, "パスワードを入力します")
    ToolTip1.SetToolTip(btnLogin, "ログインします")

    '★★★ToolTipコンテナーが非アクティブでもツールヒントが表示されるようにする★★★
    ToolTip1.ShowAlways = True
End Sub

C#の例

// フォームロード時の処理
private void Form6_Load(object sender, EventArgs e)
{
    // 各コントロールにツールヒントを設定
    toolTip1.SetToolTip(txtUserID, "ユーザーIDを入力します");
    toolTip1.SetToolTip(txtPassword, "パスワードを入力します");
    toolTip1.SetToolTip(btnLogin, "ログインします");

    // ★★★ToolTipコンテナーが非アクティブでもツールヒントが表示されるようにする★★★
    toolTip1.ShowAlways = true;
}

[Tips][ToolTip] ツールヒントにアイコンを表示する

ツールヒントにはアイコンを表示することができます。

アイコンを表示するにはToolTipIconプロパティに、ToolTipIcon列挙体の値を指定します。

ToolTipIcon列挙体
メンバ名 説明
None 標準ではないアイコン
Info 情報アイコン
Warning 警告アイコン
Error エラーアイコン

下記はツールヒントにアイコンを表示する例です。

選択したラジオボタンの内容に合わせて、アイコンを変更します。

 

VBの例

' フォームロード時の処理
Private Sub Form5_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    '各コントロールにツールヒントを設定
    ToolTip1.SetToolTip(txtUserID, "ユーザーIDを入力します")
    ToolTip1.SetToolTip(txtPassword, "パスワードを入力します")
    ToolTip1.SetToolTip(btnLogin, "ログインします")
End Sub

' ToolTipIconの種類変更処理
Private Sub rdoToolTipIcon_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles rdoWarning.CheckedChanged, rdoNone.CheckedChanged, rdoInfo.CheckedChanged, rdoError.CheckedChanged
    If rdoNone.Checked = True Then
        '★★★アイコンを表示しない★★★
        ToolTip1.ToolTipIcon = ToolTipIcon.None
    ElseIf rdoInfo.Checked = True Then
        '★★★「情報アイコン」を表示する★★★
        ToolTip1.ToolTipIcon = ToolTipIcon.Info
    ElseIf rdoWarning.Checked = True Then
        '★★★「警告アイコン」を表示する
        ToolTip1.ToolTipIcon = ToolTipIcon.Warning
    Else
        '★★★「エラーアイコン」を表示する★★★
        ToolTip1.ToolTipIcon = ToolTipIcon.Error
    End If
End Sub

C#の例

// フォームロード時の処理
private void Form5_Load(object sender, EventArgs e)
{
    // 各コントロールにツールヒントを設定
    toolTip1.SetToolTip(txtUserID, "ユーザーIDを入力します");
    toolTip1.SetToolTip(txtPassword, "パスワードを入力します");
    toolTip1.SetToolTip(btnLogin, "ログインします");
}

// ToolTipIconの種類変更処理
private void rdoToolTipIcon_CheckedChanged(object sender, EventArgs e)
{
    if ( rdoNone.Checked == true )
    {
        // ★★★アイコンを表示しない★★★
        toolTip1.ToolTipIcon = ToolTipIcon.None;
    }
    else if (rdoInfo.Checked == true)
    {
        // ★★★「情報アイコン」を表示する★★★
        toolTip1.ToolTipIcon = ToolTipIcon.Info;
    }
    else if (rdoWarning.Checked == true)
    {
        // ★★★「警告アイコン」を表示する
        toolTip1.ToolTipIcon = ToolTipIcon.Warning;
    }
    else
    {
        // ★★★「エラーアイコン」を表示する★★★
        toolTip1.ToolTipIcon = ToolTipIcon.Error;
    }
}