我的绘制方法不会绘制高度

时间:2013-02-11 10:38:19

标签: c#

我有一个绘制方法应该绘制一个框,但我的问题是它只绘制框的宽度,而不是高度。

以下是代码段:

class ColoredBox : Box
{
    protected ConsoleColor backColor;

    public ColoredBox(Point p, int width, int height, ConsoleColor backColor)
        : base(p, width, height)

    {
        this.backColor = backColor;
    }

    public virtual void Draw()
    {
        for (int j = 0; j < height; j++)
        {
            Console.SetCursorPosition(p.X, p.Y);
            Console.BackgroundColor = backColor;
            for (int i = 0; i <= width; i++)
                Console.Write(' ');
    }
}

问题似乎是Draw()方法,我无法将其打印出来,那么如何解决这个简单的问题?

1 个答案:

答案 0 :(得分:1)

在为下一行设置光标位置时,您没有使用j。代码应为:

public virtual void Draw()
{
    for (int j = 0; j < height; j++)
    {
        Console.SetCursorPosition(p.X, p.Y + j);
        Console.BackgroundColor = backColor;
        for (int i = 0; i <= width; i++)
            Console.Write(' ');
    }
}