DataGridViewCellToolTipTextNeededEventHandler デリゲートとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > DataGridViewCellToolTipTextNeededEventHandler デリゲートの意味・解説 

DataGridViewCellToolTipTextNeededEventHandler デリゲート

メモ : このデリゲートは、.NET Framework version 2.0新しく追加されたものです。

DataGridView の CellToolTipTextNeeded イベント処理するメソッド表します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Delegate Sub DataGridViewCellToolTipTextNeededEventHandler
 ( _
    sender As Object, _
    e As DataGridViewCellToolTipTextNeededEventArgs _
)
Dim instance As New DataGridViewCellToolTipTextNeededEventHandler(AddressOf
 HandlerMethod)
public delegate void DataGridViewCellToolTipTextNeededEventHandler
 (
    Object sender,
    DataGridViewCellToolTipTextNeededEventArgs e
)
public delegate void DataGridViewCellToolTipTextNeededEventHandler
 (
    Object^ sender, 
    DataGridViewCellToolTipTextNeededEventArgs^ e
)
/** @delegate */
public delegate void DataGridViewCellToolTipTextNeededEventHandler
 (
    Object sender, 
    DataGridViewCellToolTipTextNeededEventArgs e
)
JScript では、デリゲート使用できますが、新規に宣言することはできません。

パラメータ

sender

イベントソース

e

イベント データ格納している DataGridViewCellToolTipTextNeededEventArgs。

解説解説

CellToolTipTextNeeded イベントは、DataGridView コントロールの DataSource プロパティ設定されているか、VirtualMode プロパティtrue場合にだけ発生します

CellToolTipTextNeeded イベント処理すると、マウス ポインタセルの上にあり、コントロールの ShowCellToolTips プロパティ値が true のときは、ハンドラ指定したツールヒント テキスト表示されます。CellToolTipTextNeeded イベントは、セル現在の状態または値によって決定されツールヒント表示する場合に便利です。

CellToolTipTextNeeded イベントは、プログラムによって、またはマウス ポインタセル入ったときに、DataGridViewCell.ToolTipText プロパティの値が取得され場合にも必ず発生します

DataGridViewCellEventArgs.ColumnIndex プロパティと RowIndex プロパティ使用すると、セルの状態または値を特定でき、さらにこの情報使用して、ToolTipText プロパティ設定できます。このプロパティは、セルToolTipText プロパティの値によって初期化され、イベントの値によってオーバーライドされます

大量データ処理するときは、CellToolTipTextNeeded イベント処理して複数セルに対してセルToolTipText 値を設定することによるパフォーマンスの低下防いでください詳細については、「Windows フォーム DataGridView コントロール拡張するための推奨される手順」を参照してください

イベント処理詳細については、「イベント利用」を参照してください

DataGridViewCellToolTipTextNeededEventHandler デリゲート作成する場合は、イベント処理するメソッド識別してくださいイベントイベント ハンドラ関連付けるには、デリゲートインスタンスイベント追加しますデリゲート削除しない限り、そのイベント発生すると常にイベント ハンドラ呼び出されます。イベント ハンドラ デリゲート詳細については、「イベントデリゲート」を参照してください

使用例使用例

ツールヒント使用してReportsTo 列のセル内容に関する追加情報表示するコード例次に示します

Private Function Populate(ByVal
 query As String, ByVal
 resetUnsharedCounter As Boolean) As DataTable

    If resetUnsharedCounter Then
        ResetCounter()
    End If

    ' Alter the data source as necessary
    Dim adapter As New SqlDataAdapter(query,
 _
        New SqlConnection("Integrated Security=SSPI;Persist
 Security Info=False;" & _
        "Initial Catalog=Northwind;Data Source=localhost"))

    Dim table As New DataTable()
    table.Locale = System.Globalization.CultureInfo.InvariantCulture
    adapter.Fill(table)
    Return table
End Function

Private count As New Label()
Private unsharedRowCounter As Integer

Private Sub ResetCounter()
    unsharedRowCounter = 0
    count.Text = unsharedRowCounter.ToString()
End Sub

Private Sub DataGridView1_CellToolTipTextNeeded(ByVal
 sender As Object, _
    ByVal e As DataGridViewCellToolTipTextNeededEventArgs)
 _
    Handles dataGridView1.CellToolTipTextNeeded

    If theCellImHoveringOver.ColumnIndex = dataGridView1.Columns("ReportsTo").Index
 AndAlso _
            theCellImHoveringOver.RowIndex > -1 Then

        Dim reportsTo As String
 = dataGridView1.Rows(theCellImHoveringOver.RowIndex). _
            Cells(theCellImHoveringOver.ColumnIndex).Value.ToString()
        If String.IsNullOrEmpty(reportsTo)
 Then
            e.ToolTipText = "The buck stops here!"
        Else
            Dim table As DataTable = Populate(
 _
                "select firstname, lastname from employees where employeeid
 = '" & _
                dataGridView1.Rows(theCellImHoveringOver.RowIndex). _
                Cells(theCellImHoveringOver.ColumnIndex).Value.ToString() & _
                "'", False)

            e.ToolTipText = "Reports to " & table.Rows(0).Item(0).ToString()
 & " " & table.Rows(0).Item(1).ToString()
        End If
    End If
End Sub
private DataTable Populate(string query, bool
 resetUnsharedCounter)
{
    if (resetUnsharedCounter)
    {
        ResetCounter();
    }

    // Alter the data source as necessary
    SqlDataAdapter adapter = new SqlDataAdapter(query,
        new SqlConnection("Integrated Security=SSPI;Persist
 Security Info=False;" +
        "Initial Catalog=Northwind;Data Source=localhost"));

    DataTable table = new DataTable();
    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
    adapter.Fill(table);
    return table;
}

private Label count = new Label();
private int unsharedRowCounter;

private void ResetCounter()
{
    unsharedRowCounter = 0;
    count.Text = unsharedRowCounter.ToString();
}

private void dataGridView1_CellToolTipTextNeeded(object
 sender,
    DataGridViewCellToolTipTextNeededEventArgs e)
{

    if (theCellImHoveringOver.ColumnIndex == dataGridView1.Columns["ReportsTo"].Index
 &&
        theCellImHoveringOver.RowIndex > -1)
    {

        string reportsTo = dataGridView1.Rows[theCellImHoveringOver.RowIndex].
            Cells[theCellImHoveringOver.ColumnIndex].Value.ToString();

        if (String.IsNullOrEmpty(reportsTo))
        {
            e.ToolTipText = "The buck stops here!";
        }
        else
        {
            DataTable table = Populate(
                "select firstname, lastname from employees where employeeid
 = '" +
                dataGridView1.Rows[theCellImHoveringOver.RowIndex].
                Cells[theCellImHoveringOver.ColumnIndex].Value.ToString() +
                "'", false);

            e.ToolTipText = "Reports to " + table.Rows[0].ItemArray[0]
 + " " +
                table.Rows[0].ItemArray[1];
        }
    }
}
DataTable^ Populate( String^ query, bool resetUnsharedCounter
 )
{
    if ( resetUnsharedCounter )
    {
        ResetCounter();
    }


    // Alter the data source as necessary
    SqlDataAdapter^ adapter = gcnew SqlDataAdapter( query,
        gcnew SqlConnection( L"Integrated Security=SSPI;Persist Security Info=False;"
        L"Initial Catalog=Northwind;Data Source= localhost" ) );
    DataTable^ table = gcnew DataTable;
    adapter->Fill( table );
    return table;
}

Label^ count;
int unsharedRowCounter;
void ResetCounter()
{
    unsharedRowCounter = 0;
    count->Text = unsharedRowCounter.ToString();
}

void dataGridView1_CellToolTipTextNeeded( Object^ /*sender*/,
    DataGridViewCellToolTipTextNeededEventArgs^ e )
{
    if ( theCellImHoveringOver->ColumnIndex == dataGridView1->Columns[
 L"ReportsTo" ]->Index && theCellImHoveringOver->RowIndex
 > -1 )
    {
        String^ reportsTo = dataGridView1->Rows[ theCellImHoveringOver->RowIndex
 ]->Cells[ theCellImHoveringOver->ColumnIndex ]->Value->ToString();
        if ( reportsTo->Equals( L"" ) )
        {
            e->ToolTipText = L"The buck stops here!";
        }
        else
        {
            DataTable^ table = Populate( String::Format( L"select firstname,
 lastname from employees where employeeid = '{0}'",
                dataGridView1->Rows[ theCellImHoveringOver->RowIndex ]->Cells[
 theCellImHoveringOver->ColumnIndex ]->Value ), false );
            e->ToolTipText = String::Format( L"Reports to {0} {1}",
 table->Rows[ 0 ]->ItemArray[ 0 ], table->Rows[ 0 ]->ItemArray[ 1 ]
 );
        }
    }
}


プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
System.Windows.Forms 名前空間
DataGridView クラス
DataGridView.CellToolTipTextNeeded イベント
DataGridView.DataSource プロパティ
DataGridView.VirtualMode プロパティ
DataGridView.ShowCellToolTips プロパティ
DataGridViewCellToolTipTextNeededEventArgs クラス
DataGridViewCellToolTipTextNeededEventArgs.ToolTipText プロパティ
DataGridViewCell.ToolTipText プロパティ
その他の技術情報
Windows フォーム DataGridView コントロール拡張するための推奨される手順



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

DataGridViewCellToolTipTextNeededEventHandler デリゲートのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataGridViewCellToolTipTextNeededEventHandler デリゲートのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS