C# 如何使1个按钮单击填写2个不同的文本框

C# 如何使1个按钮单击填写2个不同的文本框,c#,winforms,C#,Winforms,我需要帮助使这个程序填写两个不同的文本框。如果我只使用它填写一个名为的文本框,它就可以工作。但当我尝试添加另一个文本框来生成一个随机的姓氏时,它似乎失败了 private void button1_Click(object sender, EventArgs e) { Random r = new Random(); int currentLine = 1; string pick = null; foreach (

我需要帮助使这个程序填写两个不同的文本框。如果我只使用它填写一个名为的文本框,它就可以工作。但当我尝试添加另一个文本框来生成一个随机的姓氏时,它似乎失败了

   private void button1_Click(object sender, EventArgs e)
    {

        Random r = new Random();
        int currentLine = 1;
        string pick = null;
        foreach (string line in File.ReadLines("C:\\First Names.txt"))
        {
            if (r.Next(currentLine) == 0)
            {
                pick = line;
            }
            ++currentLine;
            textBox1.Text = pick;
        }
            Random n = new Random();
            int currentLine1 = 1;
            string pick1 = null;
            foreach (string line1 in File.ReadLines("C:\\Last Names.txt"))
            {
                if (n.Next(currentLine1) == 0)
                {
                    pick1 = line1;
                }
                ++currentLine1;                   
                textBox2.Text = pick1;
            }
        }
    }
}
  • 检查文件的路径是否合适
  • 您不需要为同一个类创建两个对象并以不同方式访问它们。一个对象就足够了。 3.检查文件中是否有数据。`Random r=new Random()


  • 如果第一次迭代得到该值,那么第二次迭代也必须得到该值。否则文本文件会出现问题,或者“textBox2”不是您要查找的正确ID。

    是否使用调试器进行跟踪?u r使用C#意味着u r使用visual studio这一事实?使用断点跟踪您的代码并不难。当您说“但是当我尝试添加另一个文本框以生成随机姓氏”时,您是在尝试动态生成控件还是该控件已经存在?您的代码正在为我工作。。正如Mox所说,尝试设置断点并检查您是否从
    Last Names.txt
    文件中获取数据。您的代码工作正常,代码中没有问题。首先检查您是否从该文件中获取任何数据。。您可以使用警报框进行此操作。。还可以尝试将其分配给其他标签(如果有效,则应该有效:)
    int currentLine = 1;
    string pick = null;
    foreach (string line in File.ReadLines("C:\\First Names.txt"))
    {
        if (r.Next(currentLine) == 0)
        {
            pick = line;
        }
        ++currentLine;
        textBox1.Text = pick;
    }       
    currentLine=0;pick=0;
    foreach (string line in File.ReadLines("C:\\Last Names.txt"))
        {
            if (r.Next(currentLine) == 0)
            {
                pick = line;
            }
            ++currentLine;
    
            textBox2.Text = pick;
        }
    }`