c# - c#从Child改变父窗体的按钮值
问题描述
我正在尝试从子表单中的按钮更改父表单中按钮的背景颜色。我已将父表单中的按钮设置为公开。没有错误但没有结果。
void CloserForm2_Click(object sender, EventArgs e)
{
Form1 frm = new Form1();
frm.LobbyBtn.BackColor = Color.Gray;
解决方案
您正在创建 的新实例Form1
。例如,您可以使用对父表单的引用来注入子表单,或者使用该Application.OpenForms
属性来检索对父表单的现有实例的引用,例如:
void CloserForm2_Click(object sender, EventArgs e)
{
Form1 frm = Application.OpenForms.OfType<Form1>().FirstOrDefault();
frm.LobbyBtn.BackColor = Color.Gray;
}
推荐阅读
- javascript - 如何通过appendChild在Javascript中的多个tr中追加多个td?
- ruby-on-rails - 尝试使用 ActiveRecord 数据填充 JavaScript 数组
- java - 虽然循环在java中不重复
- android - 无法在 Android 中获取链接访问令牌(未设置访问令牌)
- c# - 可选择运行 blazor 服务器端
- r - 有没有办法可以使用向量简化下面的代码?
- javascript - Angular 7 - 只有“dist”文件夹在浏览器上呈现,而不是带有 nodejs 的“src”文件夹
- android - java.lang.NullPointerException:第二个元素为空
- python-3.x - Python Dice : Avoiding Triple Repetitions
- python-3.x - Pandas 数据框列名似乎错误