2010-10-04 76 views

回答

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


      } 

     } 

我編輯了代碼,以便在他們的消息。你需要在邊界條件上做更多的工作。除了信箱外,沒有空格的話,這個字應該足以讓你開始。

+0

好點,乍一看,我認爲我得到它,謝謝,但我需要更多的工作與這個問題得到一個堅實的解決方案,然後我會發布它 – siamak 2010-10-05 21:09:36

相關問題