c# - 在winforms中从另一个访问控件
问题描述
这段代码有什么问题?我想在 tabPage3 中的 tabControl1 中更改 Form1 中的标签。
private void FormInsertDanaScores_FormClosing(object sender, FormClosingEventArgs e)
{
Form1 frm = new Form1();
foreach (Control c in frm.Controls)
{
foreach (TabPage TabPage in tabControl1.TabPages)
{
foreach (Control control in TabPage.Controls)
{
if (control.Name == "lblInsertEditScores")
{
((Label)(c)).BackColor = Color.Transparent;
((Label)(c)).Text = "jjjjjj";
frm.Refresh();
}
}
}
}
}
解决方案
读取的行Form1 frm = new Form1();
是您的问题。您正在生成一个全新版本的表单,并更改该新表单上的标签。相反,请尝试存储对要更改的表单的引用,或者将其作为当前控件的父级来获取。
推荐阅读
- c - 堆块在 ... 修改在 ... 过去请求的大小为 4
- python - 数据框 - 将行转换为列 - 按另一列分组
- shell - 即使有效,在 zsh 中也找不到命令
- docker - Ros Docker to ROS non docker 多台机器
- html - 如何将某些身体元素移动到屏幕的不同部分?
- pycharm - 如何在 PyCharm 中启用科学模式?
- java - 并行执行 Java 线程
- javascript - 如何在带有 AJV 错误的错误消息中使用属性名称
- html - 如何使用 css 样式表“npm start”一个 html 文件?
- c++ - STM32 UART中断处理程序缺少rx字节