这个问题已经在这里有了答案:




9年前关闭。






我习惯于通过简单地将变量作为参数传递在Windows窗体之间传递变量。
现在,我有一个已经打开的表单(我们称它为FormMain),另一种形式应该像对话框(FormTask)。用户必须在FormTask上填写信息,然后才能与主表单交互。 FormTask仅包含一个文本框,此文本框的值应返回给FormMain,并作为变量进行跟踪。 FormTask需要参数exerciseTypeFormTask打开时,它将检查此参数的值并相应地设置文本框的默认值。这已经有效,我对如何将我的字符串值返回到已经打开的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/

10-12 07:40