我在listview中加入了几个checkbox项:
All
Users
Groups
Computers我要实现当勾选了"All"时,其它的项也全勾选,而只要"users/groups/computers"中任何一项没有勾选时,"All"项也不勾选.我在listview的ItemCheck事件中加了类似下面的代码,并实现了功能:
if (e.NewValue == CheckState.Checked)
{
//...如果勾选了"ALL"
foreach (ListViewItem taskItem in m_tasksList.Items)
{
if ((((Task)taskItem.Tag).TaskObject != Task.TaskObjectEnum.All) && (taskItem.Checked == false))
{
taskItem.Checked = true; //******
}
}
}
}现在大问题来了: 当我选了"All"时,程序运行到:taskItem.Checked = true;这个时候又会再次触发ListView的ItemCheck事件,而我的事件内有循环.这样,导致有时候程序崩溃.请问有什么好的办法来实现这样的功能呀?感谢!
All
Users
Groups
Computers我要实现当勾选了"All"时,其它的项也全勾选,而只要"users/groups/computers"中任何一项没有勾选时,"All"项也不勾选.我在listview的ItemCheck事件中加了类似下面的代码,并实现了功能:
if (e.NewValue == CheckState.Checked)
{
//...如果勾选了"ALL"
foreach (ListViewItem taskItem in m_tasksList.Items)
{
if ((((Task)taskItem.Tag).TaskObject != Task.TaskObjectEnum.All) && (taskItem.Checked == false))
{
taskItem.Checked = true; //******
}
}
}
}现在大问题来了: 当我选了"All"时,程序运行到:taskItem.Checked = true;这个时候又会再次触发ListView的ItemCheck事件,而我的事件内有循环.这样,导致有时候程序崩溃.请问有什么好的办法来实现这样的功能呀?感谢!
解决方案 »
- 我有个C#编的小游戏代码,谁可以把它实现,是windows应用程序
- 本人博客原创文章汇总,希望对新手有帮助,顺便祝贺升星,散分
- vs2008 繁体-》简体
- 在线等 --关于Socket 的问题?
- C# 自带部署(打包)时,如何使得在安装过程中执行另外一个exe?
- 求:C#调用word程序在文档中固定的单元格添加图片的方法
- *********SOS********* 小女子有事请教大哥哥????
- 获取DLL中所有控件
- 一个Class问题,谢谢
- webapi能否让所有请求都去执行一个固定的控制器方法
- 请多指教了!!!!如何从数据库中读出图片并显示在table的一个格子里啊?
- ora-00001违反唯一约束条件 在线等!!
{
//...如果勾选了"ALL" m_tasksList.ItemCheck -= new EventHandler(m_tasksList_ItemCheck);//Add
foreach (ListViewItem taskItem in m_tasksList.Items)
{
if ((((Task)taskItem.Tag).TaskObject != Task.TaskObjectEnum.All) && (taskItem.Checked == false))
{
taskItem.Checked = true; //******
}
}
m_tasksList.ItemCheck += new EventHandler(m_tasksList_ItemCheck);//Add }
}