我尝试使用此代码以另一种形式影响所有文本框
//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;
}
}
答案 0 :(得分:0)
您正在form2
拨打Principal
,并且只需点按Disable
即可TextBoxes
Principal
form2
Principal
个form2
要执行此操作,您必须将Constructor
引用传递给form2
中的Principal
。
示例(从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
}
您需要在FrmPrincipal
中进行的更改:
form2
现在,您只需在{{1}}中的任意位置拨打{{1}},即可进行任何更改。