2010-01-18 45 views
1

我已经使用图形的填充属性创建了一个用户控件。这是一个圆圈。它就像一个速度计,因此它有许多颜色,并使用不同的形状填充。我需要让它具有空白空间,使背景颜色与默认颜色以外的其他颜色相同。如何改变图形的背景颜色?shape back color

+0

做我的最后一个职位回答这个问题?或者你还需要更多的帮助? – SwDevMan81 2010-01-18 19:56:58

回答

1

退房Pens, Brushes and Colors

Graphics g = this.CreateGraphics(); 
SolidBrush myBrush = new SolidBrush(Color.Red); 
g.FillEllipse(myBrush, ClientRectangle); 

一个更完整的例子。这将填充UserControl的背景(基于用户控件的大小)为Pink,并创建一个填充了橙色背景色的小圆圈。

protected override void OnPaint(PaintEventArgs e) 
    { 
    Graphics g = e.Graphics; 

    SolidBrush sb = new SolidBrush(Color.Pink); 
    g.FillRectangle(sb, e.ClipRectangle); 
    sb.Dispose(); 

    sb = new SolidBrush(Color.Orange); 
    g.FillEllipse(sb, 20, 20, 20, 20); 
    sb.Dispose(); 
    } 

更多你在找什么?

如果你想要的背景颜色是一样的用户控制,改变这种:

SolidBrush sb = new SolidBrush(this.BackColor); //Color.Pink); 
+0

如果我没有错,将绘制红色的形状。我画了圆形的形状,就像是一个速度计,但我想要将具有形式颜色的空白空间设置为另一种颜色。例如, 。 图形g = this.CreateGraphics(); SolidBrush myBrush = new SolidBrush(Color.Red); g.FillEllipse(myBrush,ClientRectangle); 它创建一个红色矩形,但在该矩形内,我想要其他颜色。希望这是明确的... – Jankhana 2010-01-18 13:46:38

+0

好的,我更新了我的例子,让我知道如果这就是你要找的。 – SwDevMan81 2010-01-18 15:15:14

+0

嘿,这很好,我会尝试使用我的代码,并让你知道谢谢。 – Jankhana 2010-01-19 05:05:19