【发布时间】:2010-07-05 20:27:54
【问题描述】:
我目前正在开发一个 Window 应用程序,该应用程序将 CheckedListBoxes 用于程序的某些方面。我遇到的一个问题是,我一直在尝试查找在选中某个项目时触发了哪个事件,以便在选中任何列表项时启用表单按钮。
问题是我尝试使用以下内容;
private void clbAvailMods_ItemCheck(object sender, ItemCheckEventArgs e)
{
if(e.NewValue == CheckState.Checked)
{
btnInstall.Enabled = true;
}
}
但是当我在 if 语句上设置断点时,它不会在检查列表框中的项目时触发。
我在这里做错了吗?
【问题讨论】:
-
表单设计器似乎有一个错误注册的 ItemCheck 事件。这解决了核心问题,但现在出现了一个新问题,在其上下文中显得更加模糊。显然,在 ItemCheck 完成之前,已检查项目的状态不会更新。这很糟糕,因为我需要检查第一个项目来触发体现代码。由于状态直到之后才更新,所以我失去了立即注册项目检查事件触发的机会。
标签: c# events visual-studio-2005 checkedlistbox