Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
De forma predeterminada, la información sobre herramientas se usa para mostrar los valores de DataGridView las celdas que son demasiado pequeñas para mostrar todo su contenido. Sin embargo, puede invalidar este comportamiento para establecer valores de texto sobre herramientas para celdas individuales. Esto resulta útil para mostrar a los usuarios información adicional sobre una celda o proporcionar a los usuarios una descripción alternativa del contenido de la celda. Por ejemplo, si tiene una fila que muestra iconos de estado, puede desear proporcionar explicaciones de texto utilizando ToolTips.
También puede deshabilitar la presentación de información sobre herramientas de nivel de celda estableciendo la DataGridView.ShowCellToolTips propiedad false
en .
Para agregar un tooltip a una celda
Establecer la propiedad 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
Compilar el código
Este ejemplo requiere:
Control DataGridView denominado
dataGridView1
que contiene una columna denominadaRating
para mostrar valores de cadena de uno a cuatro símbolos de asterisco ("*"). El CellFormatting evento del control debe estar asociado al método de controlador de eventos que se muestra en el ejemplo.Referencias a los ensamblados System y System.Windows.Forms.
Programación sólida
Al enlazar el control DataGridView a un origen de datos externo o proporcionar su propio origen de datos mediante la implementación del modo virtual, pueda encontrar problemas de rendimiento. Para evitar una penalización de rendimiento al trabajar con grandes cantidades de datos, controle el CellToolTipTextNeeded evento en lugar de establecer la ToolTipText propiedad de varias celdas. Al controlar este evento, obtener el valor de una propiedad de celda ToolTipText genera el evento y devuelve el valor de la DataGridViewCellToolTipTextNeededEventArgs.ToolTipText propiedad tal como se especifica en el controlador de eventos.
Consulte también
.NET Desktop feedback