【发布时间】:2014-09-19 03:30:35
【问题描述】:
我是 C# 的初学者,我正在尝试更改父表单组件的属性。 我在父表单上有一个调用子表单的按钮,在子表单上我有另一个按钮,当单击它时应该将父表单按钮更改为不可见。 我该怎么办?非常感谢!
【问题讨论】:
标签: c# forms components
我是 C# 的初学者,我正在尝试更改父表单组件的属性。 我在父表单上有一个调用子表单的按钮,在子表单上我有另一个按钮,当单击它时应该将父表单按钮更改为不可见。 我该怎么办?非常感谢!
【问题讨论】:
标签: c# forms components
让子表单持有对父表单的引用。这可以在私有类变量中完成,例如:
private ParentForm Parent { get; set; }
如果子窗体总是需要这个引用,在构造函数中需要它:
public ChildForm(ParentForm parent)
{
if (parent == null)
throw new ArgumentNullException("parent");
Parent = parent;
}
所以现在当父表单创建子表单的实例时,它会提供对自身的引用:
var childForm = new ChildForm(this);
然后,您可以在子表单中的任何位置访问父表单的该实例。例如,父窗体可以公开一个隐藏按钮的方法:
public void HideButton()
{
SomeButton.Visible = false;
}
然后子窗体可以调用该方法:
Parent.HideButton();
【讨论】: