C# 如何在按钮文本上显示文本文件中的文本

C# 如何在按钮文本上显示文本文件中的文本,c#,C#,你好,我需要你的帮助 string[] lines = File.ReadAllLines(@ ".txt"); for (int i = 0; i < lines.Count(); i++) { button10.Text = string.Format("{0}", lines[i]); button11.Text = string.Format("{0}", lines[i]); button12.Text =

你好,我需要你的帮助

string[] lines = File.ReadAllLines(@ ".txt");
for (int i = 0; i < lines.Count(); i++) {
  button10.Text = string.Format("{0}", lines[i]);
  button11.Text = string.Format("{0}", lines[i]);
  button12.Text = string.Format("{0}", lines[i]);
  button13.Text = string.Format("{0}", lines[i]);
  button14.Text = string.Format("{0}", lines[i]);
  button15.Text = string.Format("{0}", lines[i]);
  button16.Text = string.Format("{0}", lines[i]);
  button17.Text = string.Format("{0}", lines[i]);
}
string[]line=File.ReadAllLines(@.txt”);
对于(int i=0;i
它只显示所有按钮文本上文本文件的最后一行

编辑

我试图玩数组和列表,但现在有一个新问题

List<Button> button = new List<Button> { button10, button11, button12, button13, button14, button15, button16, button17 };
        string[] lines = File.ReadAllLines(@".txt");
        for (int i = 0; i < button.Count(); i++)
            button[i].Text = string.Format("{0}", lines[i]);
List button=新列表{button10,button11,button12,button13,button14,button15,button16,button17};
string[]lines=File.ReadAllLines(@.txt”);
对于(int i=0;i

“索引在数组的绑定之外”我得到了这个错误

你还没有定义你期望的行为,所以我在这里假设你希望每个按钮从数组中得到一行。我会从这样的事情开始:

// Collection of all buttons.
Button[] buttons = new Button {
    button10,
    button11,
    button12
    // etc
}
string[] lines = File.ReadAllLines(@ ".txt");

// Assinging first line to first button and so on.
for (int i = 0; i < buttons.Count(); i++) {
    buttons[i].Text = string.Format("{0}", lines[i]);
}
//所有按钮的集合。
按钮[]按钮=新按钮{
按钮10,
按钮11,
按钮12
//等
}
string[]lines=File.ReadAllLines(@.txt”);
//将第一行辅助到第一个按钮,依此类推。
对于(int i=0;i
确保添加边界检查。

好的,我会解决的 我将需要编写更多的代码,但它正在解决我的问题,它正在逐行阅读

string line1 = File.ReadLines(@".txt").First();            
            {
                button10.Text = line1;
            }
            string line2 = File.ReadLines(@".txt").ElementAtOrDefault(1); 
            {
                button11.Text =  line2;
             }
if (string.IsNullOrEmpty(button15.Text))
            {
                button15.Visible = false;
            }

好的,您将所有按钮设置为相同的字符串,循环完成后,这将是最后一行。您将每个按钮设置为具有值
行[i]
。很明显,他们都得到了相同的内容。第一次循环时,它们都会得到第一行的内容。第二次循环时,它们都会得到第二行的内容…以此类推,直到结束。但是它发生得如此之快,你可能没有注意到,你所能看到的只是将它们全部设置为最后一行的值的结果。
string.Format({0}),line[i])
可以简化为
line[i]
。这将创建新的按钮吗?但是我需要它,你能理解我的例子是什么吗?您需要集合中的按钮(我的示例中的前4行就是这样做的)。另请参见示例后面的一行-“确保添加边界检查”,这就是编辑后出现问题的原因。