2015-05-14 80 views
0

我在Windows窗體應用程序中打印三角形圖案時出現問題,使第一個圖案下面的三角形成爲鏡像。 我正嘗試在C#三角圖案

How to Display 4 Triangle Patterns Side by Side

與第一個到第二頂部的底部連接在一起

實現所示的模式1和2。 如果用戶選擇5行,三角形必須有10行

我已經看過幾十個視頻怎麼做,但沒有一個解釋瞭如何在表單應用程序中執行它,所有這些都顯示控制檯的方式。

這是第5行

 txtoutput.Text = null; 
     int lines = Convert.ToInt32(txtLines.Text); 
     string hash = "#"; 

     for (int i = 0; i < lines; i++) 
     { 
      rTxtOutputD2.Text += hash + "\n"; 

      hash = hash + "#"; 
     } 

任何人可以幫助我的鏡子5行代碼?

+1

什麼是*預期輸出*?你能提供樣品嗎? –

回答

1

按照與控制檯相同的步驟。但是對整個三角形集使用StringBuilder。 (例如,StringBuilder strTriangles = new StringBuilder()

但是不寫入控制檯,而是添加到字符串,例如,而不是Console.Write("#"),請使用strTriangles.Append("#"),而不是使用Console.Writeline,請使用strTriangles.AppendLine()

然後將標籤lblTriangles添加到您的WinForm,並設置lblTriangles.Text = strTriangles.ToString()

+1

我同意這篇文章。假設這個作業與之前的問題類似,我建議使用StringBuilder。基本上每次編輯一個字符串時,它都會創建一個新的對象,這對於垃圾回收器來說可能很麻煩。字符串生成器在編輯時不會創建任何新對象。你將不得不調用.ToString()來獲得它。 – Keithin8a

+0

對於這個項目來說,它可能不會有所作爲,但很好知道事情如何在後臺工作,並且如果您正在對字符串進行大量編輯,通常最好使用stringbuilder – Keithin8a

+0

@ Keithin8a - 好點,我已經更新了我的答案 – colmde

0

而以 「鏡子」 的三角形...

int lines = Convert.ToInt32(txtLines.Text); 

    for (int i = 0; i < lines; i++) 
    { 
     for (int j = 0; j <= i; j++) { 
      rTxtOutputD2.Text += "#"; 
     } 
     rTxtOutputD2.Text += "\n"; 
    } 

    for (int i = lines; i > 0; i--) 
    { 
     for (int j = 0; j < i; j++) { 
      rTxtOutputD2.Text += "#"; 
     } 
     rTxtOutputD2.Text += "\n"; 
    } 

產生(對於lines = 10)...

# 
## 
### 
#### 
##### 
###### 
####### 
######## 
######### 
########## 
########## 
######### 
######## 
####### 
###### 
##### 
#### 
### 
## 
# 
+0

非常感謝,我不能相信這很容易:P – user4899320