Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Som standardinställning används verktygstips för att visa de värden som DataGridView-celler har, när dessa är för små för att visa hela innehållet. Du kan dock åsidosätta det här beteendet för att ange ToolTip-text-värden för enskilda celler. Detta är användbart om du vill visa ytterligare information om en cell för användarna eller för att ge användarna en alternativ beskrivning av cellinnehållet. Om du till exempel har en rad som visar statusikoner kanske du vill ange textförklaringar med hjälp av Knappbeskrivningar.
Du kan också inaktivera visning av knappbeskrivningar på cellnivå genom att ange egenskapen DataGridView.ShowCellToolTips till false.
Så här lägger du till ett verktygstips i en cell
Ange egenskapen DataGridViewCell.ToolTipText.
// 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
Kompilera koden
Det här exemplet kräver:
En DataGridView kontroll med namnet
dataGridView1som innehåller en kolumn med namnetRatingför att visa strängvärden för en till fyra asterisksymboler ("*"). Kontrollens CellFormatting händelse måste associeras med den händelsehanterarmetod som visas i exemplet.Referenser till System och System.Windows.Forms sammansättningar.
Robust Programmering
När du binder kontrollen DataGridView till en extern datakälla eller anger en egen datakälla genom att implementera virtuellt läge kan det uppstå prestandaproblem. Om du vill undvika prestandastraff när du arbetar med stora mängder data hanterar du CellToolTipTextNeeded händelsen i stället för att ange egenskapen ToolTipText för flera celler. När du hanterar den här händelsen, får du värdet av en cell ToolTipText-egenskapen, vilket utlöser händelsen och returnerar värdet av egenskapen DataGridViewCellToolTipTextNeededEventArgs.ToolTipText enligt specifikationerna i händelsehanteraren.
Se även
.NET Desktop feedback