Copyright © GrapeCity inc. All rights reserved.
True DBGrid for WinForms
CellTips の状況依存ヘルプ
データ表示テクニック > CellTips の状況依存ヘルプ

Windows アプリケーションの中には、ユーザーがマウスでツールバーのボタンをしばらくポイントしたままにすると、ツールチップウィンドウにそのボタンに関連するコマンド名が表示されるものが数多くあります。 True DBGrid for WinForms の  CellTips プロパティを使用すると、ユーザーに同様のヘルプ情報を表示できます。

CellTips は、マウスポインタが停止しているときに、グリッドにポップアップテキストウィンドウを表示するかどうかを指定します。デフォルトでは、このプロパティは CellTipEnum.NoCellTipsに設定されており、セルチップは表示されません。

CellTips プロパティが CellTipEnum.Anchored または CellTipEnum.Floatingのいずれかに設定されており、グリッドにフォーカスがあり、マウスポインタがグリッドセル、レコードセレクタ、列のヘッダ、列のフッタ、スプリットのヘッダ、またはグリッドのキャプション上で停止すると、FetchCellTips イベントが発生します。このイベントは、ポインタがスクロールバー上にある場合は発生しません。

CellTipEnum.Anchored に設定すると、セルチップウィンドウはセルの左端または右端に表示されます。セルチップウィンドウは左端に表示することをお勧めします。ただし、できるだけ多くのテキストを表示するために、必要に応じて右端に表示することもできます。


CellTipEnum.Floating に設定すると、セルチップウィンドウはポインタの下に表示されます(表示できる場合)。

FetchCellTipsイベントのハンドラを提供していない場合は、ポインタをグリッドセル上に合わせると、デフォルトでは、セルのコンテンツ(256 文字まで)を含むテキストボックスが表示されます。これにより、セルにテキスト全体が収まっていない場合でも、ユーザーはセルの内容を読むことができます。また、FetchCellTipsイベントをプログラムすれば、デフォルトのセルテキスト表示を上書きして、ユーザーに状況依存ヘルプを提供することもできます。

FetchCellTipsイベントは、表示されていない列のコンテンツを表示するためによく使用されます。これにより、ポイントされている行に関する追加情報を提供できます。次に例を示します。

Visual Basic コードの書き方

Visual Basic
コードのコピー
' 通常の宣言
Dim DescCol As C1.Win.C1TrueDBGrid.C1DataColumn
 
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' 
    DescCol = Me.C1TrueDBGrid1.Columns("Country")
    Me.C1TrueDBGrid1.CellTips = C1.Win.C1TrueDBGrid.CellTipEnum.Floating
End Sub
 
Private Sub C1TrueDBGrid1_FetchCellTips(ByVal sender As System.Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellTipsEventArgs) Handles C1TrueDBGrid1.FetchCellTips
   
    e.CellTip = DescCol.CellText(e.Row)
End Sub

C# コードの書き方

C#
コードのコピー
//通常の宣言
C1.Win.C1TrueDBGrid.C1DataColumn DescCol;
 
private void Form1_Load(System.object sender, System.EventArgs e)
{
    // 
    DescCol = this.c1TrueDBGrid1.Columns["Country"];
    this.c1TrueDBGrid1.CellTips = C1.Win.C1TrueDBGrid.CellTipEnum.Floating;
}
 
private void C1TrueDBGrid1_FetchCellTips(System.object sender, C1.Win.C1TrueDBGrid.FetchCellTipsEventArgs e)
{
    // 
    e.CellTip = DescCol.CellText(e.Row);
}

セルチップウィンドウが表示されるまでの時間を制御するには、CellTipsDelay プロパティを使用します。

セルチップウィンドウの幅を制御するには、CellTipsWidth プロパティを使用します。

関連トピック