private void multiBtn_Click(object sender, EventArgs e)
{
for (int a = 1; a <= 10; a++)
for (int b = 1; b <= 10; b++)
lblTable.Text = (a + " * " + b + " = " + (a * b));
for (int a = 1; a <= 10; a++)
for (int b = 1; b <= 10; b++)
lblTable.Text += (a + " * " + b + " = " + (a * b));
}
当涉及到倍增时,它正在做我想要它做的事情。它没有排成一排。它打印出整数1到10的乘法。我只需要在行和列中使用它们,任何人都可以通过标签向我解释如何做到这一点。真的不知道怎么解释它在做什么,但是在我的gui中它打印出来像“10 * 10 = 1001 * 1 = 11 * 2 = 21 * 3 = 3”等等它就像那样继续前进。我甚至不确定为什么它从10 * 10 = 100
开始答案 0 :(得分:0)
目前还不清楚你想要的是什么。但请注意,您可以在每一行(Environment.NewLine)之间插入换行符以强制换行,以便在Label中的连续行(行)上显示文本。
例如:
lblTable.Text += a + " * " + b + " = " + (a * b) + Environment.NewLine;
答案 1 :(得分:0)
尝试使用换行符,将每个项目放在新行上。对于列,它有点棘手。使用固定宽度的字体和数字周围的一些填充应该可以。
首先,新行代码添加:
lblTable.Text += (a + " * " + b + " = " + (a * b) + "\n");
或者,许多人的首选格式是使用string.Format作为字符串:
lblTable.Text += (string.Format("{0} * {1} = {2}\n", a, b, (a * b)));
要使它们对齐,您可以使用PadLeft
字符串方法。在下面的示例中,我假设a
和b
将小于或等于两位数,而a * b
将小于或等于3位数(请记住这只会如果你使用固定宽度的字体,如Consolas工作:
for (int a = 1; a <= 10; a++)
{
for (int b = 1; b <= 10; b++)
{
lblTable.Text += (string.Format("{0} * {1} = {2}\n",
a.ToString().PadLeft(2),
b.ToString().PadLeft(2),
(a * b).ToString().PadLeft(3)));
}
}