Porady: dodawanie elementu ToolTips do pojedynczych komórek w formancie DataGridView formularzy systemu Windows
Domyślnie narzędzie Wskazówki służy do wyświetlania wartości DataGridView komórek, które są zbyt małe, aby pokazać całą zawartość. To zachowanie można jednak zastąpić, aby ustawić wartości tekstowe etykietki narzędzi dla poszczególnych komórek. Jest to przydatne do wyświetlania użytkownikom dodatkowych informacji o komórce lub udostępniania użytkownikom alternatywnego opisu zawartości komórki. Jeśli na przykład masz wiersz, w którym są wyświetlane ikony stanu, możesz podać wyjaśnienia tekstowe przy użyciu narzędzia Wskazówki.
Można również wyłączyć wyświetlanie narzędzia na poziomie komórki Wskazówki ustawiając DataGridView.ShowCellToolTips właściwość na false
.
Aby dodać etykietkę narzędzia do komórki
DataGridViewCell.ToolTipText Ustaw właściwość .
// 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
Kompilowanie kodu
Ten przykład wymaga:
Kontrolka DataGridView o nazwie zawierająca kolumnę o nazwie
dataGridView1
Rating
do wyświetlania wartości ciągu od jednej do czterech gwiazdki ("*"). Zdarzenie CellFormatting kontrolki musi być skojarzone z metodą obsługi zdarzeń pokazaną w przykładzie.Odwołania do zestawów System i System.Windows.Forms .
Niezawodne programowanie
Po powiązaniu kontrolki DataGridView z zewnętrznym źródłem danych lub udostępnieniu własnego źródła danych przez zaimplementowanie trybu wirtualnego mogą wystąpić problemy z wydajnością. Aby uniknąć kary za wydajność podczas pracy z dużą ilością danych, należy obsłużyć CellToolTipTextNeeded zdarzenie, a nie ustawić ToolTipText właściwości wielu komórek. Gdy obsłużysz to zdarzenie, pobranie wartości właściwości komórki ToolTipText powoduje wywołanie zdarzenia i zwrócenie wartości DataGridViewCellToolTipTextNeededEventArgs.ToolTipText właściwości określonej w procedurze obsługi zdarzeń.
Zobacz też
.NET Desktop feedback
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla