Прочитать на английском

Поделиться через


DataGridViewCellToolTipTextNeededEventHandler Делегат

Определение

Представляет метод, обрабатывающий событие CellToolTipTextNeeded объекта DataGridView.

C#
public delegate void DataGridViewCellToolTipTextNeededEventHandler(object sender, DataGridViewCellToolTipTextNeededEventArgs e);
C#
public delegate void DataGridViewCellToolTipTextNeededEventHandler(object? sender, DataGridViewCellToolTipTextNeededEventArgs e);

Параметры

sender
Object

Источник события.

e
DataGridViewCellToolTipTextNeededEventArgs

Объект DataGridViewCellToolTipTextNeededEventArgs, содержащий данные события.

Примеры

В следующем примере кода для отображения дополнительных сведений о содержимом ячейки в столбце используются подсказки ReportsTo .

C#
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];
        }
    }
}

Комментарии

Событие CellToolTipTextNeeded возникает только в том случае, DataGridView если задано свойство элемента управления DataSource или его VirtualMode свойство равно true.

При обработке CellToolTipTextNeeded события текст подсказки, указанный в обработчике, отображается всякий раз, когда указатель мыши находится на ячейке, а значение свойства элемента управления ShowCellToolTips равно true. Событие CellToolTipTextNeeded полезно, если требуется отобразить подсказки, определяемые текущим состоянием или значением ячейки.

Это CellToolTipTextNeeded событие также возникает при каждом извлечении DataGridViewCell.ToolTipText значения свойства программным способом или при входе указателя мыши в ячейку.

Свойства и RowIndex можно использовать DataGridViewCellEventArgs.ColumnIndex для определения состояния или значения ячейки, а также использовать эти сведения для задания ToolTipText свойства . Это свойство инициализируется значением свойства ячейки ToolTipText , которое переопределяется значением события.

CellToolTipTextNeeded Обработайте событие при работе с большими объемами данных, чтобы избежать снижения производительности при установке значения ячейки ToolTipText для нескольких ячеек. Подробнее см. в разделе Масштабирование элемента управления DataGridView в Windows Forms.

Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.

При создании делегата DataGridViewCellToolTipTextNeededEventHandler необходимо указать метод, обрабатывающий событие. Чтобы связать событие с обработчиком событий, нужно добавить в событие экземпляр делегата. Обработчик событий вызывается всякий раз, когда происходит событие, если делегат не удален. Дополнительные сведения о делегатах обработчика событий см. в разделе Обработка и вызов событий.

Методы расширения

GetMethodInfo(Delegate)

Получает объект, представляющий метод, представленный указанным делегатом.

Применяется к

Продукт Версии
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

См. также раздел