我是C#的初学者,我试图更改父表单组件的属性。 我在父表单上有一个调用子表单的按钮,在子表单上我有另一个按钮,在单击它时应该将父表单按钮更改为不可见。 我该怎么办?我会非常感激的!
答案 0 :(得分:0)
让子表单保留对父表单的引用。这可以在私有类变量中完成,例如:
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();