我创建了一个带有两个复选框的菜单表单。当我选择其中一个时,我想禁用另一个表单。我试着写这段代码:
void CheckBox1CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked == true){
checkBox1.Checked=true;
checkBox2.Checked=false;
classificheForm cf=new classificheForm();
cf.Enabled=false;
classificheJunioresForm cjf=new classificheJunioresForm();
cjf.Enabled=false;
}
}
但不起作用,确实形式不会被禁用。我该如何解决?
答案 0 :(得分:4)
您正在创建新的Form
并立即停用它:
classificheForm cf=new classificheForm();
cf.Enabled=false;
相反,您应该使用对要禁用的Form
的引用。例如,如果在构造函数中创建表单:
classificheForm cf;
public SomeClassConstructor()
{
cf=new classificheForm();
}
然后在你的活动中你会这样做:
cf.Enabled=false;
请注意,您还可以隐藏和显示以下表单:
cf.Hide();
cf.Show();
请注意,需要禁用Form
听起来像是XY问题。如果您不再需要该表格,请将其关闭或隐藏。在需要时也只使用Form
等...
如果您在使用对话Form
时需要停用主form
,最好拨打
dialog.ShowDialog();
因为这会阻止用户在关闭对话框之前与主Form
进行互动。
答案 1 :(得分:-1)
您可以轻松隐藏表单
classificheForm cf=new classificheForm();
cf.Show();
classificheJunioresForm cjf=new classificheJunioresForm();
cjf.Hide();
或者“禁用”是什么意思?