Cara: Menambahkan ToolTips ke Sel Individual dalam Kontrol Formulir Windows DataGridView
Secara default, TipsAlat digunakan untuk menampilkan nilai DataGridView sel yang terlalu kecil untuk memperlihatkan seluruh kontennya. Namun, Anda dapat mengambil alih perilaku ini untuk mengatur nilai ToolTip-text untuk sel individual. Ini berguna untuk ditampilkan kepada pengguna informasi tambahan tentang sel atau untuk diberikan kepada pengguna deskripsi alternatif tentang konten sel. Misalnya, jika Anda memiliki baris yang menampilkan ikon status, Anda mungkin ingin memberikan penjelasan teks menggunakan TipsAlat.
Anda juga dapat menonaktifkan tampilan TipsAlat tingkat sel dengan mengatur properti ke DataGridView.ShowCellToolTipsfalse
.
Untuk menambahkan TipsAlat ke sel
Mengatur properti 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
Mengompilasi Kode
Contoh ini membutuhkan:
DataGridView Kontrol bernama
dataGridView1
yang berisi kolom bernamaRating
untuk menampilkan nilai string dari satu hingga empat tanda bintang ("*"). Kejadian CellFormatting kontrol harus dikaitkan dengan metode penanganan aktivitas yang ditampilkan dalam contoh.Referensi ke System rakitan dan System.Windows.Forms .
Pemrograman yang Kuat
Saat Anda mengikat kontrol ke DataGridView sumber data eksternal atau menyediakan sumber data Anda sendiri dengan menerapkan mode virtual, Anda mungkin mengalami masalah performa. Untuk menghindari penalti performa saat bekerja dengan data dalam jumlah besar, tangani CellToolTipTextNeeded peristiwa daripada mengatur ToolTipText properti beberapa sel. Saat Anda menangani peristiwa ini, mendapatkan nilai properti sel ToolTipText akan menaikkan peristiwa dan mengembalikan nilai DataGridViewCellToolTipTextNeededEventArgs.ToolTipText properti seperti yang ditentukan dalam penanganan aktivitas.
Baca juga
.NET Desktop feedback