【问题标题】:Set parent forms FormElement.TitleBar.BackColor from child form从子表单设置父表单 FormElement.TitleBar.BackColor
【发布时间】:2022-01-02 09:15:27
【问题描述】:

我有一个窗体 FrmMain,它有一个显示在 PageView FrmChild 中的子窗体。我正在尝试从 FrmChild 设置 FrmMain:this.FormElement.TitleBar.BackColor。

FrmChild

private void SetWarning() {
    FrmMain.SetTitleBarColor(true);
}

FrmMain

public void SetTitleBarColor(bool warning) {
    if (warning) {
        this.FormElement.TitleBar.BackColor = Color.Red;
    }
}

我尝试将 FrmMain.SetTitleBarColor 设置为静态,但随后无法访问表单实例。

【问题讨论】:

  • 虽然不正确,但是由于您从父级调用子级,您可以将父级表单的实例传递给子级并访问它们的属性。

标签: c# telerik windows-forms-designer


【解决方案1】:

可以在这里找到答案:answer

更新父表单的正确方法是通过冒泡。让父窗体监听来自子窗体的事件并让父窗体自行更新。任何需要的参数都可以通过 EventArgs 传递。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多