如何在C#控制台应用程序中绘制Box,Rectangle

时间:2010-10-04 20:34:45

标签: c# dialog drawing console-application

我要求提出2个相关问题。

1 - 我们如何将输出(例如结果和消息)放在c#控制台应用程序的框中。

2 - 我们如何在c#console应用程序中绘制矩形。谢谢你的任何示例教程或建议

3 个答案:

答案 0 :(得分:4)

假设你只是意味着一个字符框就可以了。

 private static void DrawABox( int x, int y, int width, int height,char Edge,string Message )
    {
        int LastIndex =0 ;
        Console.SetCursorPosition(x, y);
        for ( int h_i = 0; h_i <= height ; h_i++ )
        {
            if ( LastIndex != -1 )
            {
                int seaindex = (LastIndex + ( width - 1) );
                if(seaindex >= Message.Length -1 )
                    seaindex = Message.Length - 1;
                int newIndex = Message.LastIndexOf(' ',seaindex);
                if(newIndex == -1 )
                    newIndex = Message.Length - 1;
                string substr = Message.Substring(LastIndex, newIndex - LastIndex);
                LastIndex = newIndex;
                Console.SetCursorPosition(x + 1, y + h_i);
                Console.Write(substr);
            }
            for ( int w_i = 0; w_i <= width; w_i++ )
            {

                if ( h_i % height == 0 || w_i % width == 0 )
                {
                    Console.SetCursorPosition(x + w_i, y + h_i);
                    Console.Write(Edge);
                }


            }

        }

我编辑了代码以在其中添加消息。您需要在边界条件上做更多的工作。在消息中没有空格,这个单词比框长,但这应该足以让你开始。

答案 1 :(得分:2)

C#有curses个绑定(这可能是一个好的开始):http://curses-sharp.sourceforge.net/

答案 2 :(得分:0)

如果您想自己编写,可以使用扩展的ascii代码在控制台中绘制简单的形状。 Extended AScii Table