2014-10-27 76 views
-1

我必須編寫一個程序,在按鈕單擊時生成菱形圖形。鑽石形狀的尺寸必須爲32(行和列),每行/列從1開始以1遞增。在Visual Basic中使用窗體中的循環打印菱形圖形多行文本框

以下是我到目前爲止所提出的,如何顯示此鑽石多行文本框?

公共類Form1中

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim row As Integer 
    Dim column As Integer 

    For i As Integer = 0 To 15 Step 2 
     If row = i Or _ 
     column = i Then 
      TextBox1.Lines(i) = "O" 
     End If 
    Next 

    For o As Integer = 16 To 32 Step -2 
     If row = o Or _ 
      column = o Then 
      TextBox1.Lines(o) = "O" 
     End If 
    Next 

End Sub 

末級

不找一個完整的解決方案在這裏,只是在正確的方向推進。提前致謝!

+0

是不是行和列始終爲零? – LarsTech 2014-10-27 18:16:01

+0

提示:試着想一下你將在每一行上繪製多少個O,以及它們如何與For循環中的變量相關聯。你將不得不提出一個計算,它採用循環計數器的值('i')並確定要繪製的O的數量。另外,你通常應該使用'OrElse'而不是'Or'。這段代碼並沒有太大的區別,但它短路並且可以提高性能。 – 2014-10-27 21:42:53

回答

0

提示:

TextBox1.Font = New System.Drawing.Font("Courier New", 9.0F) 
    Dim n As Integer = 7 
    For i As Integer = 1 To 15 Step 2 
     Dim s As String = "" 
     s = StrDup(n, " ") & StrDup(i, "*") 
     TextBox1.Text = TextBox1.Text & s & vbCrLf 
     n = n - 1 
    Next