Nasıl yapılır: Bir Windows Forms DataGridView Denetiminde Ayrı Hücrelere ToolTips Ekleme
Varsayılan olarak, Tool İpuçları tüm içeriklerini gösteremeyecek kadar küçük hücrelerin değerlerini DataGridView görüntülemek için kullanılır. Ancak, tek tek hücreler için Araç İpucu metin değerlerini ayarlamak için bu davranışı geçersiz kılabilirsiniz. Bu, kullanıcılara hücre hakkında ek bilgiler görüntülemek 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ç İpuçları kullanarak metin açıklamaları sağlamak isteyebilirsiniz.
Ayrıca İpuçları özelliğini false
olarak ayarlayarak hücre düzeyi Araç'ın görüntülenmesini DataGridView.ShowCellToolTips devre dışı bırakabilirsiniz.
Bir hücreye Araç İpucu eklemek için
DataGridViewCell.ToolTipText özelliğini ayarlayın.
// 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:
Bir DataGridView ile dört arasında yıldız ("*") sembolünün dize değerlerini görüntülemek için adlı
Rating
bir sütun içeren birdataGridView1
denetim. Denetimin CellFormatting olayı, örnekte gösterilen olay işleyici yöntemiyle ilişkilendirilmelidir.ve System.Windows.Forms derlemelerine System başvurular.
Güçlü Programlama
Denetimi bir dış veri kaynağına bağladığınızda DataGridView veya sanal modu uygulayarak kendi veri kaynağınızı sağladığınızda performans sorunlarıyla karşılaşabilirsiniz. Büyük miktarda veriyle çalışırken performans cezasından kaçınmak için, birden çok hücrenin ToolTipText özelliğini ayarlamak yerine olayı işleyinCellToolTipTextNeeded. Bu olayı işlediğinizde, bir hücre ToolTipText özelliğinin değerini almak olayı tetikler ve olay işleyicisinde belirtildiği gibi özelliğinin değerini DataGridViewCellToolTipTextNeededEventArgs.ToolTipText döndürür.
Ayrıca bkz.
.NET Desktop feedback
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin