【发布时间】:2015-01-08 10:50:02
【问题描述】:
我有以下问题:
我有一个Form1,我从中打开第二个Form2。现在我在Form2 中有一个保存Button,其中来自文本框的条目被保存到一个csv 文件中。但我也想保存来自Form1 的一些条目。来自Form2 的Textbox 条目正在保存,但来自Form1 的条目是空字符串。以下代码:
在表格 1 中:
public void showInputToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2(this);
form2.Show();
}
通过第一个表单打开第二个表单,并使用函数从 Form1 文本框中获取条目:
public String getLocation()
{
return LocationBox.Text;
}
public String getFilesLoc()
{
return FilesLocation.Text;
}
在 Form2 中,我有以下内容:
private Form1 m_form = null;
public Form2(Form1 f)
{
InitializeComponent();
m_form = f;
}
然后是获取条目并保存它们的函数:
private void button1_Click(object sender, EventArgs e)
{
Form1 form1 = new Form1();
proc.setParams(form1.getLocation(),getFilesLoc());
proc.saveCurrentSettings();
}
我忽略了其他参数。因此来自Form2 的条目被正确读取,但来自Form1 的条目只是一个空字符串(“”)。我能做什么?
【问题讨论】:
-
您正在创建一个新的表单1,就在您调用这些值之前并且您没有显示它,因此在 gui 中没有任何内容被初始化
-
那怎么会是正确的呢?当我在值之后创建它时,它不会找到它们。
-
@ZoomVirus,这是答案而不是评论。
-
您希望在
FilesLocation.Text中紧跟在Form1 form1 = new Form1()之后有什么?为空字符串是正常的。有form1.ShowDialog()电话吗?