DataGridViewCellToolTipTextNeededEventHandler (Delegado)

Representa el método que controlará el evento CellToolTipTextNeeded de DataGridView.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

public delegate void DataGridViewCellToolTipTextNeededEventHandler (
	Object sender,
	DataGridViewCellToolTipTextNeededEventArgs e
)
/** @delegate */
public delegate void DataGridViewCellToolTipTextNeededEventHandler (
	Object sender, 
	DataGridViewCellToolTipTextNeededEventArgs e
)
No aplicable.

Parámetros

sender

Origen del evento.

e

DataGridViewCellToolTipTextNeededEventArgs que contiene los datos de eventos.

El evento CellToolTipTextNeeded sólo se produce cuando se establece la propiedad DataSource del control DataGridView o cuando su propiedad VirtualMode es true.

Cuando controla el evento CellToolTipTextNeeded, el texto de información sobre herramientas que especifique en el controlador se mostrará cuando el puntero del mouse esté sobre una celda y el valor de la propiedad ShowCellToolTips del control sea true. El evento CellToolTipTextNeeded es útil cuando desea mostrar información sobre herramientas determinada por el estado o el valor actual de una celda.

El evento CellToolTipTextNeeded también se produce siempre que se recupera el valor de la propiedad DataGridViewCell.ToolTipText, ya sea mediante programación o cuando el puntero del mouse entre en una celda.

Puede utilizar las propiedades DataGridViewCellEventArgs.ColumnIndex y RowIndex para determinar el estado o el valor de una celda, y utilizar esta información para establecer la propiedad ToolTipText. Esta propiedad se inicializa con el valor de la propiedad ToolTipText de la celda, que es reemplazado por el valor del evento.

Controle el evento CellToolTipTextNeeded cuando trabaje con grandes volúmenes de datos con el fin de evitar penalizaciones en el rendimiento al establecer el valor de la propiedad ToolTipText para varias celdas. Para obtener más información, vea Procedimientos recomendados para ajustar la escala del control DataGridView en formularios Windows Forms.

Para obtener más información sobre la forma de controlar eventos, vea Utilizar eventos.

Cuando se crea un delegado de DataGridViewCellToolTipTextNeededEventHandler, se identifica el método que controlará el evento. Para asociar el evento a su controlador, agregue una instancia del delegado al evento. Siempre que se produce el evento se llama a su controlador, a menos que se quite el delegado. Para obtener más información sobre los delegados de controladores de eventos, vea Eventos y delegados.

En el ejemplo de código siguiente se utiliza información sobre herramientas para mostrar información adicional sobre el contenido de la celda en la columna ReportsTo.

private DataTable Populate(string query, bool resetUnsharedCounter)
{
    if (resetUnsharedCounter)
    {
        ResetCounter();
    }

    // Alter the data source as necessary
    SqlDataAdapter adapter = new SqlDataAdapter(query,
        new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;" +
        "Initial Catalog=Northwind;Data Source=localhost"));

    DataTable table = new DataTable();
    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
    adapter.Fill(table);
    return table;
}

private Label count = new Label();
private int unsharedRowCounter;

private void ResetCounter()
{
    unsharedRowCounter = 0;
    count.Text = unsharedRowCounter.ToString();
}

private void dataGridView1_CellToolTipTextNeeded(object sender,
    DataGridViewCellToolTipTextNeededEventArgs e)
{

    if (theCellImHoveringOver.ColumnIndex == dataGridView1.Columns["ReportsTo"].Index &&
        theCellImHoveringOver.RowIndex > -1)
    {

        string reportsTo = dataGridView1.Rows[theCellImHoveringOver.RowIndex].
            Cells[theCellImHoveringOver.ColumnIndex].Value.ToString();

        if (String.IsNullOrEmpty(reportsTo))
        {
            e.ToolTipText = "The buck stops here!";
        }
        else
        {
            DataTable table = Populate(
                "select firstname, lastname from employees where employeeid = '" +
                dataGridView1.Rows[theCellImHoveringOver.RowIndex].
                Cells[theCellImHoveringOver.ColumnIndex].Value.ToString() +
                "'", false);

            e.ToolTipText = "Reports to " + table.Rows[0].ItemArray[0] + " " +
                table.Rows[0].ItemArray[1];
        }
    }
}

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar: