我有一个Windows应用程序。
Windows应用程序上有我们的XML库。
public NetspotXMLLibV1 XMLLib;
public Form1()
{
InitializeComponent();
XMLLib = new XmlLibrary.NetspotXMLLibV1();
}
它还有一个自定义控件。
该自定义控件上有一个按钮
SelectWidgitWindow widgit = new SelectWidgitWindow();
widgit.ShowDialog();
单击按钮时,会打开新窗口。我在这个新窗口上做了一些事情。当我单击新窗口上的按钮时,我想在Form1窗口中保存内容
如何在新窗口(SelectWidgitWindow)上访问它?
即
form1.XMLLib.Add(ItemForProcessing);
或
Windows(1).XMLLib.Add(ItemForProcessing);
请帮忙
答案 0 :(得分:0)
几种方式:
1)公开您希望父表单提取的项目作为子表单的属性。在父表单的代码中,当ShowDialog
返回时,您可以从属性中获取要保存的值。
2)将对父表单的引用传递给表单(可能在构造时)。然后子表单可以调用某个方法或在父表单上设置一些属性。请注意,这是不首选,因为它将子项与父表单相关联,这意味着无法从任何其他表单调用它。
答案 1 :(得分:0)
使用ShowDialog overload可以将所有者传递给新表单:
Form2 f = new Form2();
f.ShowDialog(this.Parent);
并在Form2中:
((Form1)Owner).MyProperty = 11;