Nasıl yapılır: Bir Windows Forms DataGridView Denetiminde Ayrı Hücrelere ToolTips Ekleme
Varsayılan olarak, araç Ipuçları, DataGridView tüm içeriğini gösteremeyecek kadar küçük hücrelerin değerlerini görüntülemek için kullanılır. Bununla birlikte, tek tek hücreler için araç Ipucu metin değerlerini ayarlamak için bu davranışı geçersiz kılabilirsiniz. Bu, kullanıcılara bir hücreyle ilgili ek bilgiler göstermek veya kullanıcılara hücre içeriğinin alternatif bir açıklamasını sağlamak için yararlıdır. Örneğin, durum simgelerini görüntüleyen bir satırınız varsa, araç Ipuçlarını kullanarak metin açıklamaları sağlamak isteyebilirsiniz.
Ayrıca, özelliğini olarak ayarlayarak hücre düzeyi araç Ipuçlarının görüntülenmesini devre dışı bırakabilirsiniz DataGridView.ShowCellToolTipsfalse .
Bir hücreye araç Ipucu eklemek için
Özelliği ayarlayın 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
Kod Derleniyor
Bu örnek şunları gerektirir:
DataGridView
dataGridView1RatingBir-dört yıldız işareti ("*") sembollerinin dize değerlerini görüntülemek için adlı bir sütun içeren adlı bir denetim. CellFormattingDenetimin olayının, örnekte gösterilen olay işleyicisi yöntemiyle ilişkilendirilmesi gerekir.SystemVe System.Windows.Forms derlemelerine başvurular.
Güçlü Programlama
DataGridViewDenetimi bir dış veri kaynağına bağladığınızda veya sanal modu uygulayarak kendi veri kaynağınızı sağladığınızda, performans sorunlarıyla karşılaşabilirsiniz. Büyük miktarlarda verilerle çalışırken bir performans cezasından kaçınmak için, CellToolTipTextNeededToolTipText birden çok hücrenin özelliğini ayarlamak yerine olayı işleyin. Bu olayı işlerken, bir hücre özelliğinin değerini almak ToolTipText olayı oluşturur ve DataGridViewCellToolTipTextNeededEventArgs.ToolTipText olay işleyicisinde belirtilen özelliğin değerini döndürür.