Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Standardmäßig werden QuickInfos verwendet, um die Werte von DataGridView Zellen anzuzeigen, die zu klein sind, um ihren gesamten Inhalt darzustellen. Sie können dieses Verhalten jedoch überschreiben, um ToolTip-Textwerte für einzelne Zellen festzulegen. Dies ist nützlich, um Benutzern zusätzliche Informationen zu einer Zelle anzuzeigen oder Benutzern eine alternative Beschreibung des Zellinhalts bereitzustellen. Wenn Sie beispielsweise über eine Zeile verfügen, in der Statussymbole angezeigt werden, können Sie Texterklärungen mithilfe von QuickInfos bereitstellen.
Sie können die Anzeige von QuickInfos auf Zellenebene auch deaktivieren, indem Sie die Eigenschaft DataGridView.ShowCellToolTips auf false
setzen.
Eine QuickInfo zu einer Zelle hinzufügen
Legen Sie die DataGridViewCell.ToolTipText-Eigenschaft fest.
// Sets the ToolTip text for cells in the Rating column. void dataGridView1_CellFormatting(Object^ /*sender*/, DataGridViewCellFormattingEventArgs^ e) { if ( (e->ColumnIndex == this->dataGridView1->Columns["Rating"]->Index) && e->Value != nullptr ) { DataGridViewCell^ cell = this->dataGridView1->Rows[e->RowIndex]->Cells[e->ColumnIndex]; if (e->Value->Equals("*")) { cell->ToolTipText = "very bad"; } else if (e->Value->Equals("**")) { cell->ToolTipText = "bad"; } else if (e->Value->Equals("***")) { cell->ToolTipText = "good"; } else if (e->Value->Equals("****")) { cell->ToolTipText = "very good"; } } }
// Sets the ToolTip text for cells in the Rating column. void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if ( (e.ColumnIndex == this.dataGridView1.Columns["Rating"].Index) && e.Value != null ) { DataGridViewCell cell = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex]; if (e.Value.Equals("*")) { cell.ToolTipText = "very bad"; } else if (e.Value.Equals("**")) { cell.ToolTipText = "bad"; } else if (e.Value.Equals("***")) { cell.ToolTipText = "good"; } else if (e.Value.Equals("****")) { cell.ToolTipText = "very good"; } } }
' Sets the ToolTip text for cells in the Rating column. Sub dataGridView1_CellFormatting(ByVal sender As Object, _ ByVal e As DataGridViewCellFormattingEventArgs) _ Handles dataGridView1.CellFormatting If e.ColumnIndex = Me.dataGridView1.Columns("Rating").Index _ AndAlso (e.Value IsNot Nothing) Then With Me.dataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex) If e.Value.Equals("*") Then .ToolTipText = "very bad" ElseIf e.Value.Equals("**") Then .ToolTipText = "bad" ElseIf e.Value.Equals("***") Then .ToolTipText = "good" ElseIf e.Value.Equals("****") Then .ToolTipText = "very good" End If End With End If End Sub
Code kompilieren
In diesem Beispiel ist Folgendes erforderlich:
Ein DataGridView-Steuerelement mit dem Namen
dataGridView1
, das eine Spalte namensRating
enthält, um Zeichenfolgenwerte von einem bis vier Sternchen ("*") anzuzeigen. Das CellFormatting Ereignis des Steuerelements muss der im Beispiel gezeigten Ereignishandlermethode zugeordnet sein.Verweise auf die Assemblys System und System.Windows.Forms
Robuste Programmierung
Wenn Sie das DataGridView Steuerelement an eine externe Datenquelle binden oder ihre eigene Datenquelle bereitstellen, indem Sie den virtuellen Modus implementieren, treten möglicherweise Leistungsprobleme auf. Um beim Arbeiten mit großen Datenmengen eine Leistungseinbuße zu vermeiden, behandeln Sie das CellToolTipTextNeeded Ereignis, anstatt die ToolTipText Eigenschaft mehrerer Zellen festzulegen. Wenn Sie dieses Ereignis behandeln, löst das Abrufen des Werts einer Zelleigenschaft ToolTipText das Ereignis aus und gibt den Wert der DataGridViewCellToolTipTextNeededEventArgs.ToolTipText Eigenschaft zurück, wie im Ereignishandler angegeben.
Siehe auch
.NET Desktop feedback