【发布时间】:2023-03-06 23:43:01
【问题描述】:
我正在尝试此代码以另一种形式影响所有文本框
//From form2
Principal FrmPrincipal = new Principal();
private void button1_Click(object sender, EventArgs e)
{
foreach (var control in FrmPrincipal.Controls)
{
if (control is TextBox)
{
((TextBox)control).Enabled = true;
((TextBox)control).Text = String.Empty;
}
}
}
但它不起作用,我还需要做什么。谢谢。
@DJ KRAZE 在打开 form2 之前,此代码禁用了我的 Principal 表单的所有文本框,它确实有效
foreach(var control in this.Controls)
{
if (control is TextBox)
{
((TextBox)control).Enabled = false;
}
}
【问题讨论】:
-
什么是
Principal? -
默认情况下不是控件设置为私有..?手动将控件更改为公开,然后尝试..
-
Principal 是我要更改的文本框所在的第一个表单的名称,这段代码在 form2 中
-
你能定义“不工作”吗?我猜它正在设置属性,但在您刚刚创建的表单上并没有做任何事情。
-
看看这个解决方案:stackoverflow.com/a/10704066/952310