访问父表单组件

时间:2014-07-28 00:00:02

标签: c# forms components

我是C#的初学者,我试图更改父表单组件的属性。 我在父表单上有一个调用子表单的按钮,在子表单上我有另一个按钮,在单击它时应该将父表单按钮更改为不可见。 我该怎么办?我会非常感激的!

1 个答案:

答案 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();