下面的代码在Windows窗体中创建一个圆圈。 编译时此代码没有任何错误。但它没有绘制椭圆?!为什么?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Drawing;
namespace WindowsFormsApplication1
{
public class Task1 : Form1
{
public void FillEllipseInt(PaintEventArgs e)
{
SolidBrush redBrush = new SolidBrush(Color.Red);
int x = 100;
int y = 100;
int width = 200;
int height = 100;
e.Graphics.FillEllipse(redBrush, x, y, width, height);
}
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
答案 0 :(得分:1)
您已创建Form1的实例而非任务1
Application.Run(new Form1());
您还需要创建Task1的实例
Application.Run(new Task1())
答案 1 :(得分:1)
您需要附加表单的Paint
事件,并通过该调用附加您的FillEllipseInt
方法。此外,您需要将Application.Run(new Form1());
更改为Application.Run(new Task1());
,因为(至少在您显示的代码中)没有Form1
类。这也是我认为Task1
应该继承Form
而不是Form1
的原因。