正在更改其他窗体中的控件属性
本文关键字:控件 属性 窗体 其他 | 更新日期: 2023-09-27 18:26:34
我正在尝试使用此代码来影响其他形式中的所有文本框
//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在oppening form2之前,这段代码禁用了我的Principal表单的所有文本框,它确实可以
foreach(var control in this.Controls)
{
if (control is TextBox)
{
((TextBox)control).Enabled = false;
}
}
您正在从Principal
调用form2
,并且您希望通过单击form2
按钮来Disable
Principal
的所有TextBoxes
。
要执行此操作,必须将Principal
引用传递给Constructor
中的form2
。
示例(从Principal
表单调用form2
):
Form2 form2 = new Form2(this); //passing "Principal" form reference to "form2"
form2.Show();
您必须在form2
:中进行的更改
Principal FrmPrincipal; //new object
Form2(Principal principalRef) //"form2" constructor
{
FrmPrincipal = principalRef; //assignment of "Principal" form reference to the new object
}
现在,您可以简单地在form2
中的任何位置调用FrmPrincipal
,并进行您想要的任何更改。