C#跨窗口调用控件/跨窗口改变控件

思路:

1.先在父窗口写好改变控件的方法,并设置方法为Public方便子窗口调用

2.在创建子窗口时传入父窗口,并在子窗口处用变量存储。之后在下面调用父窗口的方法即可。

父窗口代码参考:

MiniForm mini = new MiniForm(this);//传入父窗口,this代表本窗口
mini.Show();//打开子窗口

需要子窗口调用的控制控件的代码:

public void BtnStopChangeColor()//这里是改变按钮和panel的颜色
{
  BtnStar.BackColor = Color.FromArgb(51, 51, 76);//UI颜色改变
  panel3.BackColor = Color.FromArgb(0, 150, 136);
}

子窗口代码参考:

static Form ClientFormSet;//定义一个静态窗口变量去存储主窗口,方便调用
        
public MiniForm(CloudVspd mainform)//接收主窗口类型的参数
{
   InitializeComponent();
   ClientFormSet = mainform;//接收主窗口
}

接下来就想要在某一步调用主窗口时,即可使用刚才存储过主窗口的变量即可:

(ClientFormSet as CloudVspd).BtnStopChangeColor();//调用,此时主窗口方法就会被执行,主窗口控件发生变化
(ClientFormSet as CloudVspd).Visible=true;//也可以控制主窗口的显示或隐藏,只要设置为false就是隐藏

猜你喜欢

转载自blog.csdn.net/aa989111337/article/details/127615888