Eri*_*c H 6 c# .net-1.1 pocketpc compact-framework winforms
我有一个ListView控件与CheckBoxes = true
和View = Details
窗体上,但我不希望复选框,可以由用户"可检查".我用它来记录完成的状态显示.但是,我想使用事件处理函数通过代码检查框(即记录完成时:) lvMeters_ItemCheck(null, null);
.
我已经禁用了检查盒子本身(我认为,触摸屏在这个设备上并不是真正精确).但是,当选择一行(我有FullRowSelect = true
)时,控件通常会检查复选框,并且似乎没有调用事件处理程序.
我试图基本上撤消事件处理程序中的操作:
private void lvMeters_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (sender is ListView)
{
if (e.CurrentValue == CheckState.Checked)
lvMeters.Items[e.Index].Checked = true;
else
lvMeters.Items[e.Index].Checked = false;
}
else if (e.CurrentValue == CheckState.Checked)
lvMeters.Items[e.Index].Checked = false;
else
lvMeters.Items[e.Index].Checked = true;
}
Run Code Online (Sandbox Code Playgroud)
问题是上面的处理程序没有在listview select上调用,SelectedItemChanged事件处理程序也没有调用这个事件处理程序,但是它仍在选中select复选框.检查框本身时会调用它.
提问,我会尽我所能!
所以请随时告诉我,我这样做是完全错误的,应该以不同的方式完成整个事情.