设置datagridview的ToolTipText字体大小以及宽度
时间: 2023-11-01 14:08:01 浏览: 164
gridview或datagrid里面控制文本框大小
3星 · 编辑精心推荐
要设置DataGridView的ToolTipText字体大小和宽度,需要使用CellFormatting事件和ToolTip控件。下面是一个示例代码,可以将ToolTipText的字体大小设置为12,宽度设置为200像素:
```
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == -1 && e.RowIndex >= 0)
{
DataGridViewRow row = dataGridView1.Rows[e.RowIndex];
string tooltipText = "";
foreach (DataGridViewCell cell in row.Cells)
{
tooltipText += cell.Value.ToString() + Environment.NewLine;
}
ToolTip toolTip = new ToolTip();
toolTip.ToolTipTitle = "Details";
toolTip.UseFading = true;
toolTip.UseAnimation = true;
toolTip.IsBalloon = true;
toolTip.ShowAlways = true;
toolTip.AutoPopDelay = 5000;
toolTip.InitialDelay = 1000;
toolTip.ReshowDelay = 500;
toolTip.BackColor = Color.LightYellow;
toolTip.ForeColor = Color.Black;
toolTip.OwnerDraw = true;
toolTip.Draw += new DrawToolTipEventHandler(toolTip_Draw);
toolTip.Popup += new PopupEventHandler(toolTip_Popup);
toolTip.SetToolTip(dataGridView1, tooltipText);
}
}
private void toolTip_Draw(object sender, DrawToolTipEventArgs e)
{
e.DrawBackground();
e.DrawBorder();
e.DrawText(TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter | TextFormatFlags.EndEllipsis);
}
private void toolTip_Popup(object sender, PopupEventArgs e)
{
e.ToolTipSize = new Size(200, 0);
e.ToolTipSize = TextRenderer.MeasureText((string)e.ToolTipText, new Font("Arial", 12));
}
```
在这个示例中,我们使用CellFormatting事件来为DataGridView的每一行设置ToolTipText。我们遍历每个单元格的值,并将它们连接起来以形成一个长的字符串。然后,我们创建一个ToolTip对象,并将ToolTipText设置为这个字符串。
我们还设置了ToolTip的一些属性,例如ToolTipTitle、UseFading、UseAnimation、IsBalloon、ShowAlways、AutoPopDelay、InitialDelay和ReshowDelay。我们还设置了ToolTip的背景颜色和前景颜色,并为ToolTip的Draw和Popup事件添加了处理程序。
在toolTip_Popup事件处理程序中,我们使用TextRenderer.MeasureText方法来测量ToolTipText的大小。我们还将ToolTipSize设置为200像素的宽度和测量得到的高度。最后,我们将ToolTipText的字体设置为Arial 12号字体。
阅读全文