2012-01-13 56 views
0

我有一個多列ListView控件設置爲MultiSelect和Details視圖。當用戶點擊列表中的任何項目時,我想將它視爲按CTRL +單擊該項目。所以,如果他們點擊已經選擇的項目,它將取消選擇它。或者,如果他們選擇第二個項目,它將選擇它而不取消選擇其他選定的項目。這是一個自助服務終端式的應用程序,輸入是通過觸摸屏完成的,而鍵盤可能會或可能不會提供給用戶。將點擊視爲CTRL +點擊ListView

回答

1

你可以做到這一點的處理MouseUp事件並使用HitTest檢查被點擊哪個項目。該項目的設置,然後選擇屬性:

item.Selected ^= true 

您也可以從ComponentOwl退房免費軟件組件Better ListView Express。 它擁有強大的所有者繪圖功能,讓您可以display items in any state。 它也可以讓你自定義物品的高度。完整版提供了更有趣的功能。