DataGridView ToolTipText не отображается - PullRequest
9 голосов
/ 23 декабря 2008

У меня есть привязка данных DataGridView в настольном приложении со столбцами, для которых установлено свойство ToolTipText, но при наведении указателя мыши на отображение сетки (ячейки или заголовки ячеек) подсказка не отображается.

Свойство ShowCellToolTips вида сетки имеет значение true, и я проверил с помощью точек останова, что оно не изменяется программно до наведения мыши.

Я попытался создать обработчик события CellToolTipTextNeeded, чтобы увидеть, что это был за текст подсказки, но обработчик события никогда не вызывается.

Есть что-то, что я пропустил?

Спасибо, Rob

Редактировать: Мы используем фреймворк 2.0.

Ответы [ 12 ]

0 голосов
/ 12 августа 2010

Я нашел эту статью в поисках помощи по настройке всплывающих подсказок для строки.

Я просто хотел подтвердить, что обработка события CellToolTipText работает для меня в VS2008 SP1.

Для тех из вас, кто интересуется, как установить текст в значение из базового datarow, это может быть полезно:

    private void myDGV_CellToolTipTextNeeded(object sender, DataGridViewCellToolTipTextNeededEventArgs e)
    {
        // This is used to set tooltiptext for individual cells in the grid.
        if (e.ColumnIndex == 2)  // I only want tooltips for the second column (0-based)
        {
            if (e.RowIndex >= 0)   // When grid is initialized rowindex == 0
            {
                // e.ToolTipText = "this is a test."; // static example.

                DataRowView drv = ((DataGridView)sender).Rows[e.RowIndex].DataBoundItem as DataRowView;
                MyTableRowClass theRow = drv.Row as MyTableRowClass;
                e.ToolTipText = theRow.Col1  + "\r\n" + theRow.Col2;
            }
        }
    }
0 голосов
/ 30 декабря 2008

Я не знаю, является ли этот совет решением вашей конкретной проблемы, но вы используете SP1 VS2008? Этот Service Pack решает много разных проблем, как я обнаружил.

...