从子窗口保存父窗口上的数据

本文关键字:窗口 数据 保存 | 更新日期: 2023-09-27 18:28:26

我有一个Windows应用程序。

windows应用程序上有我们的XML库。

  public NetspotXMLLibV1 XMLLib;
    public Form1()
    {
        InitializeComponent();
        XMLLib = new XmlLibrary.NetspotXMLLibV1();
    }

它还有一个自定义控件。

这个自定义控件上有一个带有的按钮

SelectWidgitWindow widgit = new SelectWidgitWindow();
widgit.ShowDialog();

单击某个按钮时,会打开新窗口。我在这个新窗户上做了一些事情。当我点击新窗口上的按钮时,我想在Form1窗口上保存东西

如何在我的新窗口(SelectWidgitWindow)上访问它?

Ie

form1.XMLLib.Add(ItemForProcessing);

Windows(1).XMLLib.Add(ItemForProcessing);

请帮助

从子窗口保存父窗口上的数据

使用ShowDialog重载,您可以将新表单的所有者传递给它:

Form2 f = new Form2();
f.ShowDialog(this.Parent);

形式2:

((Form1)Owner).MyProperty = 11;

几种方法:

1) 将希望父窗体提取的项显示为子窗体的属性。在父窗体的代码中,当ShowDialog返回时,您可以从属性中获取要保存的值。

2) 将对父窗体的引用传递给窗体(可能是在构造窗体时)。然后子窗体可以调用父窗体上的某些方法或设置某些属性。请注意,这不是的首选,因为它将子窗体与父窗体耦合,这意味着它不能从任何其他窗体调用。