Auf Englisch lesen

Freigeben über


DataGridViewCellToolTipTextNeededEventHandler Delegat

Definition

Stellt die Methode zur Behandlung des CellToolTipTextNeeded-Ereignisses eines DataGridView-Objekts dar.

public delegate void DataGridViewCellToolTipTextNeededEventHandler(object sender, DataGridViewCellToolTipTextNeededEventArgs e);
public delegate void DataGridViewCellToolTipTextNeededEventHandler(object? sender, DataGridViewCellToolTipTextNeededEventArgs e);

Parameter

sender
Object

Die Quelle des Ereignisses.

Beispiele

Im folgenden Codebeispiel werden QuickInfos verwendet, um zusätzliche Informationen zum Zellinhalt in der ReportsTo Spalte anzuzeigen.

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];
        }
    }
}

Hinweise

Das CellToolTipTextNeeded Ereignis tritt nur auf, wenn die DataGridView Steuerelementeigenschaft DataSource festgelegt ist oder die VirtualMode -Eigenschaft ist true.

Wenn Sie das CellToolTipTextNeeded Ereignis behandeln, wird der QuickInfo-Text, den Sie im Handler angeben, immer angezeigt, wenn der Mauszeiger über einer Zelle und der Steuerelementeigenschaftswert ShowCellToolTips ist true. Das CellToolTipTextNeeded Ereignis ist nützlich, wenn Sie QuickInfos anzeigen möchten, die vom aktuellen Zustand oder Wert einer Zelle bestimmt werden.

Das CellToolTipTextNeeded Ereignis tritt auch auf, wenn der Wert der DataGridViewCell.ToolTipText Eigenschaft abgerufen wird, entweder programmgesteuert oder wenn der Mauszeiger in eine Zelle eintritt.

Sie können die DataGridViewCellEventArgs.ColumnIndex Eigenschaften und RowIndex verwenden, um den Zustand oder Wert einer Zelle zu bestimmen, und diese Informationen verwenden, um die ToolTipText Eigenschaft festzulegen. Diese Eigenschaft wird mit dem Wert der Zelleigenschaft ToolTipText initialisiert, die vom Ereigniswert überschrieben wird.

Behandeln Sie das CellToolTipTextNeeded Ereignis, wenn Sie mit großen Datenmengen arbeiten, um Leistungseinbußen beim Festlegen des Zellwerts ToolTipText für mehrere Zellen zu vermeiden. Weitere Informationen finden Sie unter Empfohlene Vorgehensweisen für das Skalieren des DataGridView-Steuerelements in Windows Forms.

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.

Beim Erstellen eines DataGridViewCellToolTipTextNeededEventHandler-Delegaten bestimmen Sie die Methode für die Ereignisbehandlung. Um dem Ereignishandler das Ereignis zuzuordnen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu. Der Ereignishandler wird bei jedem Eintreten des Ereignisses aufgerufen, sofern der Delegat nicht entfernt wird. Weitere Informationen zu Ereignishandlerdelegaten finden Sie unter Behandeln und Auslösen von Ereignissen.

Erweiterungsmethoden

GetMethodInfo(Delegate)

Ruft ein Objekt ab, das die Methode darstellt, die vom angegebenen Delegaten dargestellt wird.

Gilt für:

Produkt Versionen
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Weitere Informationen