生活随笔
收集整理的這篇文章主要介紹了
C# 关于WinForm界面在触摸屏上显示点触型按钮会引发右键导航栏功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述:
前幾天在工控觸摸屏上測試項目的時候,發現工控機一體機(屏自帶觸摸效果)上常按屏不放的話就會出現右鍵菜單欄。 而我現在的項目中有不少按鈕的功能設計為點動類型,有需要常按屏幕不放的相關操作,所以會導致點動效果出不來。
之前做的項目中沒有用到這種帶觸摸功能的工控機,鼠標操作的話,用MouseDown和MouseUp兩個事件關聯需要點動的按鈕,就可以了而且沒有任何問題。
但是換上這種帶觸摸功能的工控一體機,Winform框架提供的MouseDown和MouseUP這兩個事件在用手去觸摸工控一體的屏幕時,達不到預期的效果,相反會出現右鍵導航功能。如果非要觸發這兩個事件的話,必須先進行滑動然后再按住目標按鈕(這樣的動作才不會觸發右鍵導航案例功能),才能起作用。
解決方案:
1、剛開始遇到這種情況時,認為是右鍵導航菜單欄干擾造成的;所以在工控屏上禁用了右鍵導航欄功能;操作步驟如下:
(1) 找到控制面板選項:
(2)在硬件和聲音選項中
(3)筆和觸摸功能塊,點擊設置筆勢以執行某些任務選項
(4)在筆和觸摸選項中,選擇按下并保持設置選項,并點擊設置按鈕
禁用右鍵功能之后,發現對于按鈕的功能并沒有多大的作用。要觸發點動按鈕,還需要先進行滑動然后再按住才能觸發。
2、因為之前學了一些WPF框架的知識,所以想到用WPF中的按鈕來替換當前Winform中的所有點動型按鈕。
然后進行了簡單的測試,問題得到了解決。
(2)相關測試代碼如下:
using System.Windows.Forms;namespace Touch
{public partial class Form1 : Form{public Form1(){InitializeComponent();System.Windows.Controls.Button Btn_M1014 = new System.Windows.Controls.Button(){Background = System.Windows.Media.Brushes.Black,FontFamily = new System.Windows.Media.FontFamily("宋體"),FontSize = 9F,FontWeight = System.Windows.FontWeights.Bold,Foreground = System.Windows.Media.Brushes.White,BorderThickness = new System.Windows.Thickness(3, 3, 3, 3),BorderBrush = System.Windows.Media.Brushes.White,Name = "Btn_M1014"};Btn_M1014.Content = "這是一個WPF按鈕";elementHost1.Child = Btn_M1014;Btn_M1014.AddHandler(System.Windows.Controls.Button.MouseDownEvent, new System.Windows.RoutedEventHandler(Btn_MouseDown), true);Btn_M1014.AddHandler(System.Windows.Controls.Button.MouseUpEvent, new System.Windows.RoutedEventHandler(Btn_MouseUp), true);}private void Btn_MouseDown(object sender, System.Windows.RoutedEventArgs e){(sender as System.Windows.Controls.Button).Content = "松開";}private void Btn_MouseUp(object sender, System.Windows.RoutedEventArgs e){(sender as System.Windows.Controls.Button).Content = "按下";}}
}
窗口如下:
總結:
本來是用的TouchDown和TouchUp這兩個事件的,但是后面發現WPF button按鈕中 MouseDown和MouseUp這兩個事件也是可行的,而且還可以用鼠標來操控界面的點動按鈕,方便測試,所以上面我依舊還是選用了后者。
總結
以上是生活随笔為你收集整理的C# 关于WinForm界面在触摸屏上显示点触型按钮会引发右键导航栏功能的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。