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; |
|