-4

我正在创建一个 winform 应用程序,其中有两种形式:form1 和 form2。在启动我的应用程序时,form1 被加载。我在form1的form_load方法中包含了打开form2的代码。form2 包含两个文本框,我需要在其中指定我将在 form1 中打开和使用的文件的路径。所以我的问题是我如何将form2中文本框中的值传递给form1。

4

3 回答 3

1

如果您正确设置表单打开,您仍然应该可以访问它

using(var form = new Form2()
{
     if(DialogResult.OK == form.ShowDialog(this))
     {
          //OK was clicked, do something with the form's properties 
          // or textboxes if public
          string s = form.Textbox1Text;
     }
}

您应该仍然可以在此块内使用您的表单。

注意:当您关闭表单时,您应该设置对话框结果(无论如何您都应该这样做)

 DialogResult = DialogResult.OK; // there is also DialogResult.Cancel

示例 Form2 属性

public string Textbox1Text
{
    get{ return textbox1.Text; }
    private set { textbox1.Text = value;}
 }
于 2013-09-16T07:32:22.550 回答
1

您可以在第一种形式中创建两个公共属性(字符串类型)。然后,在您更改第二种形式的文本框的值时,只需设置第一种形式的属性。因此,您可以在第一种形式中自由使用您的属性。

于 2013-09-16T07:22:39.133 回答
0

尝试这个,

定义一个Form2将保留路径字符串的属性。一旦用户从Form2您那里选择路径,就必须将该路径设置为此属性。

表格1

假设这是你打开Form2的方式Form1

Form2 form = new Form2();
form.Show();

//Getting the path value from property declared in Form2
string pathFromForm2 = form.PathProperty;
于 2013-09-16T07:27:41.307 回答