0

以下のコードは、Windows フォーム内に 1 つの円を作成します。このコードはエラーなしでコンパイルされました。しかし、楕円は描かれませんでした?! なんで?

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());
        }
    }
}
4

2 に答える 2

1

タスク1の代わりにForm1のインスタンスを作成しました

Application.Run(new Form1());

Task1のインスタンスも作成する必要があります

Application.Run(new Task1())
于 2012-05-07T11:44:41.167 に答える
1

Paintフォームのイベントを添付し、そこからFillEllipseIntメソッドを呼び出す必要があります。また、 (少なくとも表示したコードでは)クラスがないため、変更Application.Run(new Form1());する必要があります。これが、私が継承すべきだと思う理由でもあります。Application.Run(new Task1());Form1Task1FormForm1

于 2012-05-07T12:02:18.307 に答える