我需要帮助。我有两个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
}
}
}
答案 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();