【问题标题】:change color of a button in parent form, from a child form从子窗体更改父窗体中按钮的颜色
【发布时间】:2020-08-01 18:17:29
【问题描述】:

我需要一点建议 我有两个表格(Form1 和 Form2)。 Form1 有一个打开 Form2 的按钮,Form2 有一个关闭 Form2 的按钮。现在,当我单击 Form1 中的按钮时,它的颜色会发生变化。我希望在关闭 Form2 后,Form1 中的按钮更改为默认颜色。这个方法我试过了,还是不行。。

private void btn_exit_menu_Click(object sender, EventArgs e)
{
    Form1 form = Application.OpenForms.OfType<Form1>().FirstOrDefault();
    form.btn_clienti.BackColor = Color.FromArgb(41, 39, 40);
    form.btn_alimente.BackColor = Color.FromArgb(41, 39, 40);
    form.btn_retete.BackColor = Color.FromArgb(41, 39, 40);
    form.btn_meniuri.BackColor = Color.FromArgb(41, 39, 40);

    Application.DoEvents();

    this.Close();
}

【问题讨论】:

  • 这看起来像是一个 Windows 窗体问题。如果你问另一个人,你应该用win forms标签标记它
  • Form2 显示的是Show() 还是ShowDialog()
  • @Idle_Mind,Form2 是一个子表单,它显示在 Form1 的一个标签内。我解决了问题

标签: c# winforms


【解决方案1】:

只需在创建 form2... 时添加 onclosed 事件处理程序并更改按钮颜色。记得将按钮声明为 public。

From Form.OnClosed Docs

更新

我注意到OnClosed 已过时!只需改用OnFormClosed

From Form.OnFormClosed Docs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 2019-04-13
    • 2015-05-02
    • 2011-01-30
    相关资源
    最近更新 更多