C# 绘制椭圆窗体运行时
我试图在运行时绘制一个椭圆形状。我将TransparentKey设置为与backColor相同,将Form borderStyle设置为none。然而,这对我来说不起作用。当我运行下面的代码时,我没有得到椭圆。我不知道这里错过了什么C# 绘制椭圆窗体运行时,c#,winforms,gdi,C#,Winforms,Gdi,我试图在运行时绘制一个椭圆形状。我将TransparentKey设置为与backColor相同,将Form borderStyle设置为none。然而,这对我来说不起作用。当我运行下面的代码时,我没有得到椭圆。我不知道这里错过了什么 public Form1() { InitializeComponent(); Graphics graphicsObj = this.CreateGraphics(); SolidBrush sBrush=new SolidBrush(Co
public Form1()
{
InitializeComponent();
Graphics graphicsObj = this.CreateGraphics();
SolidBrush sBrush=new SolidBrush(Color.Orange);
graphicsObj.FillEllipse(sBrush, 30, 30, 60, 30);
sBrush.Dispose();
graphicsObj.Dispose();
}
WinForms中的绘图不是这样工作的,最多只能看到一次,但当Paint事件重新触发时,它将被删除。 您可以在绘制事件中绘制椭圆: 编辑: 您可以在表单事件选项卡上找到OnPaint事件,也可以从构造函数中订阅它:
this.Paint+=OnPaint 在哪里可以找到此OnPaint事件在窗体的“事件”选项卡中找不到OnPaint事件。通过覆盖事件实现了这一点。谢谢你的帮助。不用了,用c'tor画画。@UweKeim明白了。但是如何在winform中绘制椭圆呢
private void OnPaint(object sender, PaintEventArgs e)
{
var g = e.Graphics;
SolidBrush sBrush=new SolidBrush(Color.Orange);
graphicsObj.FillEllipse(sBrush, 30, 30, 60, 30);
sBrush.Dispose();
}