这个问题已经在这里有了答案:
9年前关闭。
我习惯于通过简单地将变量作为参数传递在Windows窗体之间传递变量。
现在,我有一个已经打开的表单(我们称它为FormMain
),另一种形式应该像对话框(FormTask
)。用户必须在FormTask
上填写信息,然后才能与主表单交互。 FormTask
仅包含一个文本框,此文本框的值应返回给FormMain
,并作为变量进行跟踪。 FormTask
需要参数exerciseType
。 FormTask
打开时,它将检查此参数的值并相应地设置文本框的默认值。这已经有效,我对如何将我的字符串值返回到已经打开的MainForm
一点都不了解。
这些对话框似乎只能返回DialogResults
,这不是我想要的。我也不太有经验,我宁愿避免摸索制作自己的自定义对话框。
FormMain:
FormTask formTask = new FormTask(exerciseType);
formOpgaveInvoker.ShowDialog();
FormTask:
private void button1_Click(object sender, EventArgs e)
{
string opgave = textBoxOpgave.Text;
// return string value to MainForm here
}
最佳答案
在FormTask中创建公共(public)属性
public string Opgave { get {return textBoxOpgave.Text;}}
并在ShowDialog()之后检查它;
FormTask formTask = new FormTask(exerciseType);
formOpgaveInvoer.ShowDialog();
formOpgaveInvoer.Opgave; // here it is
关于c# - 将值从对话框表单传递到主表单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6029140/