DataGridViewCellToolTipTextNeededEventHandler 代理人
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
CellToolTipTextNeeded の DataGridView イベントを処理するメソッドを表します。
public delegate void DataGridViewCellToolTipTextNeededEventHandler(System::Object ^ sender, DataGridViewCellToolTipTextNeededEventArgs ^ e);
public delegate void DataGridViewCellToolTipTextNeededEventHandler(object sender, DataGridViewCellToolTipTextNeededEventArgs e);
public delegate void DataGridViewCellToolTipTextNeededEventHandler(object? sender, DataGridViewCellToolTipTextNeededEventArgs e);
type DataGridViewCellToolTipTextNeededEventHandler = delegate of obj * DataGridViewCellToolTipTextNeededEventArgs -> unit
Public Delegate Sub DataGridViewCellToolTipTextNeededEventHandler(sender As Object, e As DataGridViewCellToolTipTextNeededEventArgs)
パラメーター
- sender
- Object
イベントのソース。
イベント データを格納している DataGridViewCellToolTipTextNeededEventArgs。
例
次のコード例では、ToolTips を使用して、列のセルの内容に関する追加情報を ReportsTo
表示します。
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 ] );
}
}
}
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];
}
}
}
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
注釈
イベントはCellToolTipTextNeeded、コントロール DataSource プロパティが設定されているか、DataGridViewそのVirtualModeプロパティが であるtrue
場合にのみ発生します。
イベントを CellToolTipTextNeeded 処理すると、マウス ポインターがセルの上にあり、コントロール ShowCellToolTips プロパティの値が である場合は常に、ハンドラーで指定したツールヒント テキストが true
表示されます。 このイベントは CellToolTipTextNeeded 、セルの現在の状態または値によって決まるツールヒントを表示する場合に便利です。
イベントは CellToolTipTextNeeded 、プログラムによって、またはマウス ポインターがセルに DataGridViewCell.ToolTipText 入ったときに、プロパティの値が取得されるたびに発生します。
プロパティと RowIndex プロパティをDataGridViewCellEventArgs.ColumnIndex使用してセルの状態または値を決定し、この情報を使用して プロパティをToolTipText設定できます。 このプロパティは、イベント値がオーバーライドする cell ToolTipText プロパティの値で初期化されます。
大量のデータを CellToolTipTextNeeded 操作するときにイベントを処理して、複数のセルのセル ToolTipText 値を設定するパフォーマンスの低下を回避します。 詳細については、「 Windows フォーム DataGridView コントロールを拡張するための推奨される手順」を参照してください。
イベントを処理する方法の詳細については、次を参照してください。処理とイベントの発生します。
DataGridViewCellToolTipTextNeededEventHandler デリゲートを作成する場合は、イベントを処理するメソッドを指定します。 イベント ハンドラーにイベントを関連付けるには、イベントにデリゲートのインスタンスを追加します。 イベント ハンドラーは、デリゲートを削除しない限り、イベントが発生するたびに呼び出されます。 イベント ハンドラー デリゲートの詳細については、「イベントの 処理と発生」を参照してください。
拡張メソッド
GetMethodInfo(Delegate) |
指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。 |
適用対象
こちらもご覧ください
.NET