我的项目中有2个winforms。当我点击Form1上的“设置”按钮时,它会显示设置窗体,我正在对文本框进行一些更改,并且当我单击第二窗体上的保存按钮时,它将这些值保存到文本文件中,我想传递这些值首先形成,但我无法通过它们。将C#中Form2传递给Form1的值
以下是我的部分代码;
这段代码是设置按钮点击(在Form1上)
private void button3_Click(object sender, EventArgs e)
{
Settings frm = new Settings();
frm.Show();
}
public void funData(TextBox txtForm1)
{
label3.Text = txtForm1.Text;
}
这个代码是保存按钮点击(第二种形式)
private void button5_Click(object sender, EventArgs e)
{
if (File.Exists(ConfigFile))
{
File.Delete(ConfigFile);
using (StreamWriter writer = new StreamWriter(ConfigFile))
{
writer.WriteLine(txtTemsPath.Text);
writer.WriteLine(txtVodafonePath.Text);
writer.WriteLine(txtTurkcellPath.Text);
writer.WriteLine(txtAveaPath.Text);
writer.Close();
}
}
else
{
using (StreamWriter writer = new StreamWriter(ConfigFile))
{
writer.WriteLine(txtTemsPath.Text);
writer.WriteLine(txtVodafonePath.Text);
writer.WriteLine(txtTurkcellPath.Text);
writer.WriteLine(txtAveaPath.Text);
writer.Close();
}
}
Form1 frm = new Form1();
delPassData del = new delPassData(frm.funData);
del(this.txtTemsPath);
frm.getSettings();
frm.TemsPath = TemsPath;
frm.Activate();
frm.Refresh();
this.Close();
}
能否请你帮我这个问题?
感谢
什么你的意思是“无法通过他们”?你有错误吗? –
几件事情:1)你似乎只想覆盖配置文件。你不需要检查它是否存在,删除它,然后重写它,默认情况下'StreamWriter'会覆盖它,除非你明确地告诉它不存在。 2)不管怎样,这两个书写块看起来都做同样的事情。3)不要调用'.Close()',把它放在'using'块中为你做,最后4)它怎么不起作用?远?你得到什么错误? – Arran