从Popup表单传递值和向Popup表单传递值

时间:2012-10-23 07:00:49

标签: c# winforms

我正在制作Windows应用程序。

我要求我需要从Button click事件打开一个弹出窗体,我可以通过下面的代码打开该窗体

Form2 frm = new  Form2();
frm.ShowDialog();

此弹出式表单Form2是数据输入表单,将从Form1调用。 Form2是数据输入表单。当我填写Form2中的字段并单击“保存”按钮时,所有值都将填入Form1's网格中。

此网格也有编辑和删除按钮。

我该怎么做?我必须在xml文件中保存数据并从中恢复,但我不想这样做。

任何人都可以使用示例代码建议任何其他方式吗?

3 个答案:

答案 0 :(得分:1)

您可以在public properties中设置一些form来获取和设置数据。

Form2 frm = new  Form2();
frm.FirstName = "John";
frm.ShowDialog();

string newFirstName = frm.FirstName;

答案 1 :(得分:0)

这样,您可以从Form2到达Form1。

public class Form2
{
    private Form1 _instance;
    public Form2(Form1 instance)
    { 
          _instance = instance;   
    } 

    public void Save()
    {
         _intance.FillMethod();
    }
}

// this = form1 instance
Form2 frm = new  Form2(this);
frm.ShowDialog();

答案 2 :(得分:0)

如果您的数据输入表格中某些数据 ,那么最好通过构造函数传递数据。其他数据可以通过属性甚至方法传递。使用属性是返回数据的最佳方式。

using(Form2 fom2 = new Form2(requiredData))
{
    form2.OtherData = optionalData;
    if (form2.ShowDialog() != DialogResult.OK)
        return;
    // read data from dialog form
    grid.DataSource = form2.Data;
    textBox.Text = form2.SomeString;
}
相关问题