我在我的项目中使用ToolTip控件。我想将其背景颜色设置为红色。我已将ownerdraw属性更改为true,并将backcolor更改为red。但没有结果。任何建议?更改winform工具提示backcolor
Regards, skpaul。
我在我的项目中使用ToolTip控件。我想将其背景颜色设置为红色。我已将ownerdraw属性更改为true,并将backcolor更改为red。但没有结果。任何建议?更改winform工具提示backcolor
Regards, skpaul。
设置这些化子性质:
yourTooltip.OwnerDraw = true;
yourTooltip.BackColor = System.Drawing.Color.Red;
然后在绘制时使用:
private void yourTooltip_Draw(object sender, DrawToolTipEventArgs e)
{
e.DrawBackground();
e.DrawBorder();
e.DrawText();
}
当您将控件设置为OwnerDraw时,您必须自己处理该控件的绘图。
这里有一个快速和肮脏的例子(适应你的口味):
Private Sub ToolTip1_Draw(sender As Object, e As DrawToolTipEventArgs) Handles ToolTip1.Draw
Dim tt As ToolTip = CType(sender, ToolTip)
Dim b As Brush = New SolidBrush(tt.BackColor)
e.Graphics.FillRectangle(b, e.Bounds)
Dim sf As StringFormat = New StringFormat
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Center
e.Graphics.DrawString(e.ToolTipText, SystemFonts.DefaultFont, SystemBrushes.ActiveCaptionText, e.Bounds, sf)
sf.Dispose()
b.Dispose()
End Sub
干杯
活动添加到工具条和设置的OwnerDraw为true:
public Form1() {
InitializeComponent();
toolTip1.OwnerDraw = true;
toolTip1.Draw += new DrawToolTipEventHandler(toolTip1_Draw);
}
那就不要添加一个方法用于绘制事件:
void toolTip1_Draw(object sender, DrawToolTipEventArgs e) {
Font f = new Font("Arial", 10.0f);
toolTip1.BackColor = System.Drawing.Color.Red;
e.DrawBackground();
e.DrawBorder();
e.Graphics.DrawString(e.ToolTipText, f, Brushes.Black, new PointF(2, 2));
}
只是“很棒” - 正是我想要的....... –
不客气。 –
我有另一个问题。我可以问这里吗?其关于.rdlc的报告。 –
不知道即使存在这些! –
我的投票是100%。简单的代码,易于记忆,完全可行。谢谢Nacereddine,很多很多很感谢。 –
@SKPaul不客气。快乐编码:) – Nasreddine