環境
- 的Windows XP X32的Visual Studio 2005標準版
- 霍尼韋爾海豚9500運行Windows Mobile 2003(掌上電腦2003)使用內置的條形碼掃描儀和B &頭黑白攝像機使用他們的SDK位於here。
- .NET Compact Framework的1.0 SP3和.NET Framework 1.1
- 使用VC#
目標
我有一個表格上CheckBoxes = true
和View = Details
ListView控件,但我不希望複選框由用戶「檢查」。我正在使用它進行記錄完成的狀態顯示。然而,我確實希望使用事件處理函數通過代碼來檢查框(即在記錄完成時:lvMeters_ItemCheck(null, null);
)。如何保持C#ListView控件與行選擇上的「檢查」複選框?
問題
我已經停用檢查框本身(我認爲,觸摸屏是不是真正的精確在此設備上)。但是,當選擇一行(我有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事件處理程序調用此事件處理程序,但它仍然檢查select上的框。它在檢查盒子本身時確實會被調用。
需要更多信息?
問了,我會盡我所能!
我是一個新手
所以,請隨時告訴我,我這樣做完全錯誤的,應該做的整個事情是不同的。
+1一個真正良好的格式化/深思熟慮的問題 – ctacke 2011-06-06 20:28:31