Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么当我的窗口窗体应用程序有一个循环时,我只能看到一些文本输出?_C#_Winforms_Loops - Fatal编程技术网

C# 为什么当我的窗口窗体应用程序有一个循环时,我只能看到一些文本输出?

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);

我试图提供两个数字,一个最大值和一个最小值,来创建一个乘法表。我当前的代码在控制台中运行良好,但我无法将其正确打印到Windows窗体应用程序中的文本框中。我只能打印一个最大的数字

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;i
Result.Text=
将替换整个字符串,包括换行符

您需要添加到
Result.Text,而不是替换它

for
循环之前,将其初始化为空字符串:

Result.Text = "";
然后在该点以下,始终追加而不是替换,例如

Result.Text += (i + "\t");
而不是

Result.Text = (i + "\t");

依此类推。

您需要将结果.Text=(“\n”);更改为结果.Text+=(“\n”);每次为textbox的Text属性赋值时,它都会覆盖旧值。您需要做的是附加值。这与您的基本相同,最好使用
结果.AppendText(…)
和OP在最小值和最大值方面也有明显的问题