2012-10-20 51 views
8

我在我的項目中使用ToolTip控件。我想將其背景顏色設置爲紅色。我已將ownerdraw屬性更改爲true,並將backcolor更改爲red。但沒有結果。任何建議?更改winform工具提示backcolor

Regards, skpaul。

回答

14

設置這些化子性質:

yourTooltip.OwnerDraw = true; 
yourTooltip.BackColor = System.Drawing.Color.Red; 

然後在繪製時使用:

private void yourTooltip_Draw(object sender, DrawToolTipEventArgs e) 
{ 
    e.DrawBackground(); 
    e.DrawBorder(); 
    e.DrawText(); 
} 
+0

不知道即使存在這些! –

+1

我的投票是100%。簡單的代碼,易於記憶,完全可行。謝謝Nacereddine,很多很多很感謝。 –

+0

@SKPaul不客氣。快樂編碼:) – Nasreddine

1

當您將控件設置爲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 

乾杯

7

活動添加到工具條和設置的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)); 
} 
+0

只是「很棒」 - 正是我想要的....... –

+0

不客氣。 –

+0

我有另一個問題。我可以問這裏嗎?其關於.rdlc的報告。 –