首页 > 解决方案 > c#从Child改变父窗体的按钮值

问题描述

我正在尝试从子表单中的按钮更改父表单中按钮的背景颜色。我已将父表单中的按钮设置为公开。没有错误但没有结果。

 void CloserForm2_Click(object sender, EventArgs e)
    {
        Form1 frm = new Form1();
        frm.LobbyBtn.BackColor = Color.Gray;

标签: c#winformsbuttonbackcolor

解决方案


您正在创建 的新实例Form1。例如,您可以使用对父表单的引用来注入子表单,或者使用该Application.OpenForms属性来检索对父表单的现有实例的引用,例如:

void CloserForm2_Click(object sender, EventArgs e)
{
    Form1 frm = Application.OpenForms.OfType<Form1>().FirstOrDefault();
    frm.LobbyBtn.BackColor = Color.Gray;
}

推荐阅读