C1TouchEventProviderコンポーネントでは、指によるタッチやペンといったポインタデバイスによるコントロール領域でのアクションを検出できます。
ポインタ関連イベントでのイベントパラメータのPointerEventArgsクラスのDeviceTypeプロパティを使用することで、イベントを発生させたのが指によるタッチか、ペンかを検出することができます。
次のコードは、TextBoxコントロール(TextBox1)の領域にポインタが入ったときに、ポインタデバイスがタッチかペンかを検出します。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Imports C1.Win.C1TouchToolKit Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load C1TouchEventProvider1.SetEnableTouchEvents(TextBox1, True) End Sub Private Sub C1TouchEventProvider1_PointerEntered(sender As Object, e As PointerEventArgs) Handles C1TouchEventProvider1.PointerEntered If e.TargetControl Is TextBox1 Then If e.DeviceType = PointerDeviceType.Touch Then MessageBox.Show("タッチで押されました") ElseIf e.DeviceType = PointerDeviceType.Pen Then MessageBox.Show("ペンで押されました") End If End If End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
using C1.Win.C1TouchToolKit; private void Form1_Load(object sender, EventArgs e) { C1TouchEventProvider1.SetEnableTouchEvents(this.button1, true); C1TouchEventProvider1.PointerEntered += C1TouchEventProvider1_PointerEntered; } private void C1TouchEventProvider1_PointerEntered(object sender, PointerEventArgs e) { if (e.TargetControl == TextBox1) { if (e.DeviceType == PointerDeviceType.Touch) { MessageBox.Show("タッチで押されました"); } else if (e.DeviceType == PointerDeviceType.Pen) { MessageBox.Show("ペンで押されました"); } } } |
ペンでフリック操作を行った時、Windowsのコントロールパネルの設定に従ってコントロールにスクロールなどのメッセージが送出されることがあります。これは「ペンフリック」と呼ばれる機能です。C1ToucheventProvider.EnablePenFlicksプロパティをFalseに設定すると、ペンフリックを抑止できます。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
C1TouchEventProvider1.EnablePenFlicks = False |
C# コードの書き方
C# |
コードのコピー
|
---|---|
C1TouchEventProvider1.EnablePenFlicks = false; |