C# 关于WinForm界面在触摸屏上显示点触型按钮会引发右键导航栏功能
問(wèn)題描述:
前幾天在工控觸摸屏上測(cè)試項(xiàng)目的時(shí)候,發(fā)現(xiàn)工控機(jī)一體機(jī)(屏自帶觸摸效果)上常按屏不放的話就會(huì)出現(xiàn)右鍵菜單欄。 而我現(xiàn)在的項(xiàng)目中有不少按鈕的功能設(shè)計(jì)為點(diǎn)動(dòng)類(lèi)型,有需要常按屏幕不放的相關(guān)操作,所以會(huì)導(dǎo)致點(diǎn)動(dòng)效果出不來(lái)。
之前做的項(xiàng)目中沒(méi)有用到這種帶觸摸功能的工控機(jī),鼠標(biāo)操作的話,用MouseDown和MouseUp兩個(gè)事件關(guān)聯(lián)需要點(diǎn)動(dòng)的按鈕,就可以了而且沒(méi)有任何問(wèn)題。
但是換上這種帶觸摸功能的工控一體機(jī),Winform框架提供的MouseDown和MouseUP這兩個(gè)事件在用手去觸摸工控一體的屏幕時(shí),達(dá)不到預(yù)期的效果,相反會(huì)出現(xiàn)右鍵導(dǎo)航功能。如果非要觸發(fā)這兩個(gè)事件的話,必須先進(jìn)行滑動(dòng)然后再按住目標(biāo)按鈕(這樣的動(dòng)作才不會(huì)觸發(fā)右鍵導(dǎo)航案例功能),才能起作用。
解決方案:
1、剛開(kāi)始遇到這種情況時(shí),認(rèn)為是右鍵導(dǎo)航菜單欄干擾造成的;所以在工控屏上禁用了右鍵導(dǎo)航欄功能;操作步驟如下:
(1) 找到控制面板選項(xiàng):
(2)在硬件和聲音選項(xiàng)中
(3)筆和觸摸功能塊,點(diǎn)擊設(shè)置筆勢(shì)以執(zhí)行某些任務(wù)選項(xiàng)
(4)在筆和觸摸選項(xiàng)中,選擇按下并保持設(shè)置選項(xiàng),并點(diǎn)擊設(shè)置按鈕
禁用右鍵功能之后,發(fā)現(xiàn)對(duì)于按鈕的功能并沒(méi)有多大的作用。要觸發(fā)點(diǎn)動(dòng)按鈕,還需要先進(jìn)行滑動(dòng)然后再按住才能觸發(fā)。
2、因?yàn)橹皩W(xué)了一些WPF框架的知識(shí),所以想到用WPF中的按鈕來(lái)替換當(dāng)前Winform中的所有點(diǎn)動(dòng)型按鈕。
然后進(jìn)行了簡(jiǎn)單的測(cè)試,問(wèn)題得到了解決。
(2)相關(guān)測(cè)試代碼如下:
窗口如下:
總結(jié):
本來(lái)是用的TouchDown和TouchUp這兩個(gè)事件的,但是后面發(fā)現(xiàn)WPF button按鈕中 MouseDown和MouseUp這兩個(gè)事件也是可行的,而且還可以用鼠標(biāo)來(lái)操控界面的點(diǎn)動(dòng)按鈕,方便測(cè)試,所以上面我依舊還是選用了后者。
總結(jié)
以上是生活随笔為你收集整理的C# 关于WinForm界面在触摸屏上显示点触型按钮会引发右键导航栏功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2020年江苏中考数学能用计算机吗,20
- 下一篇: C# 基础语法