TouchToolKit for WinForms
ジェスチャイベントの検出
TouchToolKit の使い方 > C1TouchEventProviderコンポーネント > ジェスチャイベントの検出

C1TouchEventProviderコンポーネントでは、回転や拡大といった操作(ジェスチャ)を検出できます。

ジェスチャイベントの検出

ここではLabelコントロール上でマルチタッチ操作によって回転や拡大といった操作(ジェスチャ)を検出する方法を紹介します。

  1. Labelコントロール(Label1)をフォームに追加し、次のようにプロパティを設定します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    Label1.AutoSize = False
    Label1.BackColor = Color.Cyan
    Label1.Size = New Size(300, 300)
    

    C# コードの書き方

    C#
    コードのコピー
    Label1.AutoSize = false;
    Label1.BackColor = Color.Cyan;
    Label1.Size = new Size(300, 300);
    
  2. C1TouchEventProviderコンポーネント(C1TouchEventProvider1)をフォームに追加します。
  3. Label1を選択し、プロパティウィンドウから「C1TouchEventProvider1のEnableTouchEvents」プロパティをTrueに設定します。
  4. C1TouchEventProvider1を選択し、ManipulationDeltaイベントに下記のコードを追加します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    Private Sub C1TouchEventProvider1_ManipulationDelta(sender As Object, e As C1.Win.C1TouchToolKit.ManipulationDeltaEventArgs) Handles C1TouchEventProvider1.ManipulationDelta
        If e.TargetControl Is Label1 Then
            Label1.Text = String.Format("拡大:{1}{0}回転:{2}{0}直線的な動き:{3}", Environment.NewLine, e.Delta.Scale, e.Delta.Rotation, e.Delta.Translation)
        End If
    End Sub
    

    C# コードの書き方

    C#
    コードのコピー
    private void C1TouchEventProvider1_ManipulationDelta(object sender, C1.Win.C1TouchToolKit.ManipulationDeltaEventArgs e)
    {
        if (e.TargetControl == label1)
        {
            label1.Text = string.Format("拡大:{1}{0}回転:{2}{0}直線的な動き:{3}", Environment.NewLine, e.Delta.Scale, e.Delta.Rotation, e.Delta.Translation);
        }
    }
    
  5. プロジェクトを実行し、タッチ操作で回転や拡大といった操作を実行します。

特定のジェスチャの検出

既定ではすべてのジェスチャの検出が有効です。特定のジェスチャだけを検出するには、C1TouchEventProvider.ManipulationModeプロパティを変更します。たとえば、回転のジェスチャだけを検出するには次のようにコーディングします。

Visual Basic コードの書き方

Visual Basic
コードのコピー
C1TouchEventProvider1.ManipulationMode = C1.Win.C1TouchToolKit.ManipulationModes.Rotate

C# コードの書き方

C#
コードのコピー
C1TouchEventProvider1.ManipulationMode = C1.Win.C1TouchToolKit.ManipulationModes.Rotate;

複数のジェスチャを検出できるようにするには、次のようにコーディングします。

Visual Basic コードの書き方

Visual Basic
コードのコピー
Imports C1.Win.C1TouchToolKit

C1TouchEventProvider1.ManipulationMode = ManipulationModes.Rotate Or ManipulationModes.Scale

C# コードの書き方

C#
コードのコピー
using C1.Win.C1TouchToolKit;

C1TouchEventProvider1.ManipulationMode = ManipulationModes.Rotate | ManipulationModes.Scale;