2017-07-03 82 views
0

我已经做了大量的阅读,我发现每个问题都涉及ASP.NET。我正在使用Winforms。我的主窗体上有一个复选框(名为复选框图片)。当用户更改此复选框的状态时,我想运行一些命令。CheckedChanged没有开火?

这应做到:

public void CheckboxPicture_CheckedChanged(Object sender, EventArgs e) 
{ 
    MessageBox.Show("Check State Changed"); 
} 

然而检查和取消选中复选框不工作。 ASP.NET说你需要

Autopushback = true但我不使用ASP.NET所以我不知道那里会去。

+2

在的WinForms您使用的WinForms设计师。选择CheckBox,显示Event属性并双击CheckedChanged事件。这将为事件处理程序创建存根代码并为您打开它 – Steve

+1

您确定某处有一个“CheckboxPicture.CheckedChanged + = CheckboxPicture_CheckedChanged”语句,或者至少有一些看起来甚至类似于此? –

+0

你是否真的在代码中的其他地方订阅了事件? – Inisheer

回答

0

谷歌搜索“的WinForms复选框事件”产生此作为其第一个结果:

MSDN: CheckBox.CheckedChanged Event

在某些时候,他们提到:

要运行示例代码,粘贴到包含名为CheckBox1的CheckBox类型的实例的项目中。 然后确保事件处理程序与CheckedChanged事件关联。

(重点煤矿。)

不幸的是,他们没有说明如何“确保该事件处理程序与事件的CheckedChanged关联”。

总之,地方你的代码中,你必须有下面的语句:

CheckboxPicture.CheckedChanged += CheckboxPicture_CheckedChanged 

换句话说,你CheckboxPicture_CheckedChanged()方法不会被魔术叫,你必须确保它被调用时,复选框的相应事件被触发。

0

转到设计器中的表单。点击复选框并查看属性框。点击事件处理程序并为CheckedChanged处理程序属性选择你的处理程序。

enter image description here