-1

境界線に異なる色のボックスを作成するクラスがあります。コードに「メソッド 'SetCursorPosition' のオーバーロードは 3 つの引数を取らない」というエラーが表示されます。私のコードは次のとおりです。

class TitledBox : ColoredBox
{
    private string title;
    private ConsoleColor titleColor;

    public TitledBox(Point p, int width, int height, ConsoleColor backColor, string title, ConsoleColor titleColor)
        : base(p, width, height, backColor)
    {
        if (title.Length > width)
            this.title = title.Substring(0, width);
        else
            this.title = title;

        this.titleColor = titleColor;
    }

    public override void Draw()
    {
        for (int j = 0; j < height; j++)
        {
            Console.SetCursorPosition(p.X, p.Y, + j);
            Console.BackgroundColor = backColor;
            if  ( j == 0)    
            {
                Console.ForegroundColor = titleColor;
                Console.Write(title);
               for (int i = 0; i < width - title.Length; i++)
               {
                   Console.Write(' ');
               }
            }
            else
            {
                for (int i = 0; i < width; i++)
                Console.Write(' ');
            }
        }
    }

}

私が間違っていることについてのアイデアはありますか?

4

3 に答える 3

0
    Console.SetCursorPosition(p.X, p.Y, + j);

する必要があります

    Console.SetCursorPosition(p.X, p.Y + j);
于 2013-02-11T09:03:12.553 に答える
0

メソッドConsole.SetCursorPosition は 2 つの int パラメーターのみを取得します。3 つのパラメーターを指定しました。私はあなたが言うつもりだったと思います:

//the second comma was deleted
Console.SetCursorPosition(p.X, p.Y + j);

ソース: http://msdn.microsoft.com/en-us/library/system.console.setcursorposition.aspx

于 2013-02-11T09:02:54.420 に答える
0

Console.SetCursorPosition は以下のようになります

Console.SetCursorPosition(int Left, int Top);
于 2013-02-11T09:00:02.997 に答える