如何在 windows 应用程序中将数据从一种形式传递到另一种形式的文本框?
How to pass data from one form to another form textbox in windows application?
我正在尝试将变量从一个表单传递到另一个表单文本框。 'variable' 是基于用户输入的计算结果。
下面是父表单 (RuleInsertForm) 的代码,我在其中调用子表单 (Helpformula) 以获取用户输入。
public partial class RuleInsertForm : Form
{
public string helpformulainputs;
}
private void RuleInsertForm_Load(object sender,EventArgs e)
{
if (helpformulainputs=="")
{
textBox_Inputs.Text = "";
}
else
{
textBox_Inputs.Text = helpformulainputs;
}
}
下面是我将结果变量 (formulainputs) 传递给父表单 (RuleInsertForm) 的子表单 (Helpformula) 的代码。
public partial class HelpFormula : Form
{
public string formulainputs = string.Empty;
private void button_generateformula_Click(objectsender, EventArgs e)
{
using (RuleInsertForm insertform = new RuleInsertForm())
{
insertform.helpformulainputs = formulainputs;
this.Close();
insertform.Show();
}
}
}
问题:
这些值正在传递到文本框,但在 UI 中没有显示。
到目前为止,我尝试将数据推送回父表单,然后尝试在我失败的文本框中显示数据。(我不知道哪里出了问题建议我是否可以解决以下问题)
现在我需要一个替代方法,例如:不是将数据推回父表单,而是需要使变量可用于所有尝试使用子表单的表单(formulainputs)
我怎样才能完成这个过程?非常感谢任何建议。
问题似乎是 insertForm.Show()
没有阻止按钮处理程序的执行。 Show
打开 insertform
作为非模式。
因此在 insertform
打开后,在 button_generateformula_Click
中继续执行,当您退出 using
块时,insertform
被释放并因此关闭。
要解决此问题,您可以改为调用 insertForm.ShowDialog()
。
对于表单之间的不同通信方式,请查看 here 或直接在 SO 搜索框中键入 communicate between forms
。
我正在尝试将变量从一个表单传递到另一个表单文本框。 'variable' 是基于用户输入的计算结果。
下面是父表单 (RuleInsertForm) 的代码,我在其中调用子表单 (Helpformula) 以获取用户输入。
public partial class RuleInsertForm : Form
{
public string helpformulainputs;
}
private void RuleInsertForm_Load(object sender,EventArgs e)
{
if (helpformulainputs=="")
{
textBox_Inputs.Text = "";
}
else
{
textBox_Inputs.Text = helpformulainputs;
}
}
下面是我将结果变量 (formulainputs) 传递给父表单 (RuleInsertForm) 的子表单 (Helpformula) 的代码。
public partial class HelpFormula : Form
{
public string formulainputs = string.Empty;
private void button_generateformula_Click(objectsender, EventArgs e)
{
using (RuleInsertForm insertform = new RuleInsertForm())
{
insertform.helpformulainputs = formulainputs;
this.Close();
insertform.Show();
}
}
}
问题: 这些值正在传递到文本框,但在 UI 中没有显示。
到目前为止,我尝试将数据推送回父表单,然后尝试在我失败的文本框中显示数据。(我不知道哪里出了问题建议我是否可以解决以下问题)
现在我需要一个替代方法,例如:不是将数据推回父表单,而是需要使变量可用于所有尝试使用子表单的表单(formulainputs)
我怎样才能完成这个过程?非常感谢任何建议。
问题似乎是 insertForm.Show()
没有阻止按钮处理程序的执行。 Show
打开 insertform
作为非模式。
因此在 insertform
打开后,在 button_generateformula_Click
中继续执行,当您退出 using
块时,insertform
被释放并因此关闭。
要解决此问题,您可以改为调用 insertForm.ShowDialog()
。
对于表单之间的不同通信方式,请查看 here 或直接在 SO 搜索框中键入 communicate between forms
。