将文本文件内容传递到表单2

时间:2013-12-13 12:30:34

标签: c# winforms

我需要帮助。我有两个fomrs。一个表单包含listBox,其中包含磁盘上的文本文件,但第二个表单必须显示从表单1中的listBox中选择的文件的内容.Form1中的listBox和Form2中的richTextBox都是公共的。

namespace WindowsFormsApplication1
{
  public partial class Form1 : Form
  {
    Form2 form2;
    public Form1()
    {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
      string folder = @"D:\";
      string[] txtfiles = Directory.GetFiles(folder, "*.txt");
      listBox1.Items.AddRange(txtfiles);
    }

    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
      form2 = new Form2();
      form2.Show();
    }
  }
}

表格2

namespace WindowsFormsApplication1
{
  public partial class Form2 : Form
  {
    Form1 form1;
    public Form2()
    {
      InitializeComponent();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
      StreamReader sr = new StreamReader("");
      //TODO
    }
  }
}

enter image description here

1 个答案:

答案 0 :(得分:2)

我将文件名传递给Form2的构造函数:

,而不是对Form1的引用
public partial class Form2 : Form
{
  public Form2(string fileName)
  {
    InitializeComponent();
    textBox1.Text = File.ReadAllText(fileName);
  }
}

然后在你的调用方法中:

form2 = new Form2(listBox1.SelectedItem.ToString());
form2.Show();