C# 为什么当我的窗口窗体应用程序有一个循环时,我只能看到一些文本输出?
我试图提供两个数字,一个最大值和一个最小值,来创建一个乘法表。我当前的代码在控制台中运行良好,但我无法将其正确打印到Windows窗体应用程序中的文本框中。我只能打印一个最大的数字C# 为什么当我的窗口窗体应用程序有一个循环时,我只能看到一些文本输出?,c#,winforms,loops,C#,Winforms,Loops,我试图提供两个数字,一个最大值和一个最小值,来创建一个乘法表。我当前的代码在控制台中运行良好,但我无法将其正确打印到Windows窗体应用程序中的文本框中。我只能打印一个最大的数字 private void MultiTab_CheckedChanged(object sender, EventArgs e) { string final = "The Multiplication Table Is:"; int i = Convert.ToInt32(Max.Text);
private void MultiTab_CheckedChanged(object sender, EventArgs e)
{
string final = "The Multiplication Table Is:";
int i = Convert.ToInt32(Max.Text);
int k = Convert.ToInt32(Min.Text);
for (i = 1; i <= k; i++)
{
Result.Text = (i + "\t");
for (int j = 1; j <= k; j++)
{
string x;
if (i > k) x = i * j + "\t";
else x = j + "\t";
Result.Text = final + x;
}
Result.Text = ("\n");
}
}
private void MultiTab_CheckedChanged(对象发送方,事件参数e)
{
string final=“乘法表是:”;
int i=转换为32(最大文本);
int k=转换为32(最小文本);
for(i=1;iResult.Text=
将替换整个字符串,包括换行符
您需要添加到Result.Text,而不是替换它
在for
循环之前,将其初始化为空字符串:
Result.Text = "";
然后在该点以下,始终追加而不是替换,例如
Result.Text += (i + "\t");
而不是
Result.Text = (i + "\t");
依此类推。您需要将结果.Text=(“\n”);更改为结果.Text+=(“\n”);每次为textbox的Text属性赋值时,它都会覆盖旧值。您需要做的是附加值。这与您的基本相同,最好使用结果.AppendText(…)
和OP在最小值和最大值方面也有明显的问题