我是新的C#和我想繪製一個顏色填充橢圓,我找到了一些代碼,但我無法弄清楚如何做到這一點。如何通過GDI繪製橢圓C#?
我試着用這個代碼:
Graphics g = this.CreateGraphics();
Pen pen = new Pen(Color.Aquamarine, 2);
g.DrawEllipse(pen, 10, 10, 100, 20);
但方法不存在。
Colud你幫我嗎?
在此先感謝。
我是新的C#和我想繪製一個顏色填充橢圓,我找到了一些代碼,但我無法弄清楚如何做到這一點。如何通過GDI繪製橢圓C#?
我試着用這個代碼:
Graphics g = this.CreateGraphics();
Pen pen = new Pen(Color.Aquamarine, 2);
g.DrawEllipse(pen, 10, 10, 100, 20);
但方法不存在。
Colud你幫我嗎?
在此先感謝。
您應該在窗體Paint Event中進行圖形繪製,否則一旦屏幕更新,您將失去繪圖。這是一個快速和骯髒的例子,如何這樣做。
public Form1()
{
InitializeComponent();
this.Paint += new PaintEventHandler(Form1_Paint);
}
void Form1_Paint(object sender, PaintEventArgs e)
{
Pen pen = new Pen(Color.Aquamarine,2);
SolidBrush brush = new SolidBrush(Color.Aquamarine);
e.Graphics.DrawEllipse(pen, 10, 10, 100, 20);
e.Graphics.FillEllipse(brush, 10, 50, 100, 20);
}
這實際上並不涉及'DrawEllipse'方法據稱沒有被發現。 – 2012-07-20 07:39:13
@ O.R.Mapper是的,它確實是因爲它是PaintEventHandler的一部分,我不確定他爲什麼不能按照他嘗試的方式訪問它,但我知道他可以通過這種方式訪問它。如果他不使用PaintEvent繪製圖像,他將保留圖像被保留的問題。 – 2012-07-20 07:44:02
作爲「PaintEventHandler」的一部分,不會改變任何有關「DrawEllipse」可見性的內容 - 該方法應該可以在原始代碼中調用。顯然,問題中缺少一些信息;讓我們看看OP是否提供任何其他信息。 – 2012-07-20 08:26:27
哪種方法不存在? DrawEllipse? – 2012-07-20 06:55:33
是的。我不明白爲什麼? – lilymz 2012-07-20 06:57:38
我也沒有,因爲這種方法存在:http://msdn.microsoft.com/en-us/library/wt06kxfd.aspx你收到什麼錯誤信息? – 2012-07-20 07:00:02