我正在尝试使用另一个表单上的复选框更改按钮可见状态;
当复选框选中状态在表单2上更改时,form1上按钮1的可见属性发生更改。如果有人可以指出我正确的方向我会适当的,谢谢你。
答案 0 :(得分:0)
在Form2
上定义活动。例如。
public event EventHandler StateChanged;
复选框选中状态更改时提升此事件:
private void Checkbox_CheckedChanged(object sender, EventArgs e)
{
if (StateChanged != null)
StateChanged(this, EventArgs.Empty);
}
在Form1
form2.StateChanged += Form2_StateChanged;
更改此事件处理程序中的按钮:
private void Form2_StateChanged(object sender, EventArgs e)
{
button.Visible = !button.Visible;
}
答案 1 :(得分:0)
通常当我做这样的事情时,我会添加一个调用它的方法。
Form1 with the button
public void SetVisibility(bool visible)
{
Button.Visible = visible;
}
Form 2 With CheckBox
CheckBox_CheckChanged(object sender, EventArgs e)
{
Form1.SetVisibility(CheckBox.Checked);
}
在表单上添加公共方法还可以让您从其他表单控制它。不确定最好的答案是什么,这取决于你。
编辑:
与问题无关,但......
表格2
var form1Control = new Form1();
form1Control.SetVisibility(true);