0

我正在尝试使用 vb.net 在列表框控件中打印 8 行三角形。我已经尝试了很多次,但我无法实现。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim i, j, n As Integer
    i = 1
    j = 1
    n = 8
    While i <= n
        i += 1
        j = 1
        While j <= 1
            listbox1.items.add( "*" & vbCrLf)
            j += 1
        End While

    End While

End Sub
4

1 回答 1

1

我在头顶看到两件事。在你的第二个While陈述中,你有J <=1而不是J <= i. 但主要的是,您没有为您的 "*" 构建一个字符串,然后将其添加到您的ListBox中,而是为每个 * 添加单个项目。

这是一种方法

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim i, j, n As Integer
    i = 1
    j = 1
    n = 8
    While i <= n
        j = 1
        Dim tmp As String = "" 'String to build your Line
        While j <= i
            tmp += "*"
            j += 1
        End While
        ListBox1.Items.Add(tmp)
        i += 1 'Moved to end otherwise you start with 2 *'s
    End While

End Sub

另一个只使用一个While

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim i, n As Integer
    i = 1
    n = 8

    While i <= n
        ListBox1.Items.Add(StrDup(i, "*") )
        i += 1
    End While

End Sub
于 2012-11-11T06:55:21.767 回答