当我尝试使用以下代码打印乘法表时,
Dim se As String
Label1.Text = Space(35) & "九九乘法表" & vbCrLf
Label1.Text &= Space(35) & "-----------" & vbCrLf
For i = 1 To 9
Label1.Text &= Space(8 * (i - 1) + i)
For j = i To 9
se = i & "×" & j & "=" & i * j
Label1.Text &= se & Space(8 - Len(se))
Next j
Label1.Text &= vbCrLf
Next i
它给了我一个对齐良好的表格,如下图所示
如果我更改第Label1.Text &= Space(8 * (i - 1) + i)
5 行
,表格变成Label1.Text &= Space(8 * (i - 1) )
了这样:
我想我的问题是:为什么我必须添加更多“i”空格?
感谢埃德珀的回答。
但我只是很困惑为什么需要这样一个额外的增量空间?
假设我正在使用 Label1.Text &= Space(8 * (i - 1) )
,那么第一个循环中将没有空格,第二个循环中有 8 个空格,第三个循环中有 16 个空格...,为什么不能使所有方程对齐?
更具体地说,等式 1x1=1 之后有 3 个空格,所以在 1x2=2 之前有 8 个字符,那么如果我在第二个循环中有 8 个空格,2x2=4 应该与 1x2=2 对齐,但是它没有。这就是我想知道的。