【问题标题】:How to access Parent Form public variables, control properties and methods? (WinForms C#)如何访问父窗体的公共变量、控制属性和方法? (WinForms C#)
【发布时间】:2022-11-13 22:35:16
【问题描述】:

我有包含 3 个面板的家长表格 (FrmMainMenu)。面板 1 停靠在顶部,面板 2 停靠在左侧。第三个面板将是我的子窗体容器。我在 panel1 上有一个标题标签 (lblTitle.Text = "Home"),在 panel2 上有一个按钮。我正在尝试模仿 Blazor 的外观和感觉(导航栏和侧边栏)。我的问题是如何从子表单访问/操作父表单 (FrmMainMenu) 上的标题标签 (lblTitle.Text)

1.关于控件属性:示例事件:打开子窗体时,我希望根据子窗体功能更改 (lblTitle.Text) 属性。例如 (lblTitle.Text = "List of Rooms")。当关闭子窗体时,我希望 (lblTitle.Text = "Home") 返回到其原始文本属性。

2.方法:我的(FrmMainMenu) 上有一个方法 (public void ResetColors()) 可以重置按钮的颜色。尽管是公共方法,但我的子表单无法访问该方法。公共变量也是如此。

任何建议表示赞赏。

我尝试将私有方法和变量转换为公共方法和变量。我还尝试将控件 Modifiers 更改为 public。我仍然无法访问父窗体控件属性和公共方法。

【问题讨论】:

    标签: winforms variables properties controls parent-child


    【解决方案1】:

    我知道了。

    ((frmMainMenu)this.ParentForm).lblTitle.Text = "List of Rooms";
    

    在关闭子表单时:

    ((frmMainMenu)this.ParentForm).Reset();
    ((frmMainMenu)this.ParentForm).lblTitle.Text = "Home";
    

    【讨论】:

      猜你喜欢
      • 2018-05-21
      • 1970-01-01
      • 2011-01-11
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      • 1970-01-01
      相关资源
      最近更新 更多