2010-08-03 72 views
0

做任何1知道如何刪除鼠標事件,但只允許觸摸事件。Silver/WPF刪除鼠標事件,但允許觸摸事件

簡而言之,我有2臺顯示器。 1是主顯示器,另一個是觸摸屏。

我不希望鼠標光標移到第二個顯示。 對於顯示器,它只接受觸摸事件,所以希望當第二個屏幕被觸摸時,鼠標應該停留在沒有移動的主屏幕上。

任何想法如何做到這一點?

回答

0

不適用於Windows,因爲所有類似鼠標的設備輸入都會合併到一個虛擬設備。所以如果你的觸摸屏被註冊爲並且像一個普通的鼠標一樣,我知道無法找出輸入來自哪裏。這裏唯一的解決方案是獲取驅動程序級別的輸入數據。 (請參閱c# multiple mice的幾個結果。)
因此,鼠標光標將始終(很快)移動到觸摸屏被「單擊」的位置。

防止鼠標光標進入第二個屏幕將是相當困難的,因爲這也發生在Windows級別。

我建議一種解決方法,雖然這取決於您的觸摸屏:
通常,觸摸屏輸入(儘管不是手寫筆輸入)在點擊之前具有非常短暫/快速的鼠標移動。因此,一種可能的解決方案是使用該信息來監聽鼠標移動事件並分離輸入源。

+0

我實際上已經想過使用後面提到的方法, 聲明瞭一個lastPosition變量來捕獲onMouseMove事件觸發時的位置。所以如果位置在第二個屏幕上,點擊觸摸屏後點擊事件後,我將它移回。 你覺得可行嗎? 無論如何感謝您的澄清 – 2010-08-07 06:33:10