环境
- Windows XP x32 Visual Studio 2005 标准版
- Honeywell Dolphin 9500 运行 Windows Mobile 2003 (Pocket PC 2003) 内置条码扫描仪和黑白相机 使用位于此处的 SDK 。
- .NET Compact Framework 1.0 SP3 和 .NET Framework 1.1
- 使用 VC#
目标
我在表单上有一个 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;
}
问题是上面的处理程序没有在列表视图选择上被调用,SelectedItemChanged 事件处理程序也没有调用这个事件处理程序,但它仍在选中选择框。检查框本身时确实会调用它。
需要更多信息?
问一下,我会尽力而为!
我是新手
所以请随时告诉我,我这样做完全错了,应该以不同的方式做整个事情。