У меня есть datagridview, для которого требуются определенные столбцы для отображения пользовательского всплывающего текста. Я пытаюсь загрузить всплывающую подсказку по запросу с помощью события CellToolTipTextNeeded, а не хранить их все заранее, но это вызывает у меня некоторые проблемы. Сначала я назначил их все при первоначальной привязке данных, и они появились, как я и ожидал.
Теперь, когда всплывающие подсказки загружаются через событие, мне нужно дважды навести указатель мыши на ячейку, чтобы увидеть свою пользовательскую всплывающую подсказку. Во-первых, чтобы увидеть текст всплывающей подсказки по умолчанию, который .Net показывает, если содержимое ячейки слишком велико, мне нужно навести указатель мыши на другую ячейку и вернуться, чтобы увидеть свою пользовательскую всплывающую подсказку.
Я попытался установить пустой текст всплывающей подсказки каждой ячейки, но, как я понял, это не сработало. Любые идеи?
Вот код, в котором я реализую:
private void PopulateTabs()
{
tabs.Visible = true;
tabs.TabPages.Clear();
results_ = some Dataset
foreach (DataTable dt in results_.Tables)
{
if (dt.Rows.Count == 0)
continue;
tab = new TabPage(dt.TableName);
DataGridView dgv = new DataGridView();
dgv.DataSource = dt.DefaultView;
dgv.Name = dt.TableName;
dgv.Dock = DockStyle.Fill;
dgv.SelectionChanged += new EventHandler(dgv_SelectionChanged);
dgv.RowHeadersVisible = false;
if (dt.TableName == Recon.ControlEvalResultsTablename || dt.TableName == Recon.TestEvalResultsTablename)
dgv.RowPostPaint += new DataGridViewRowPostPaintEventHandler(dgv_RowPostPaint);
else
{
dgv.CellToolTipTextNeeded += new DataGridViewCellToolTipTextNeededEventHandler(dgv_CellToolTipTextNeeded);
dgv.CellFormatting += new DataGridViewCellFormattingEventHandler(dgv_CellFormatting);
}
tab.Controls.Add(dgv);
tabs.TabPages.Add(tab);
}
}