C1TouchEventProviderコンポーネントでは、タップ、ダブルタップ、右タップおよびホールド(長押し)を検出できます。
ここではButtonコントロールでマウスによるクリックと、タッチによるタップを区別する方法を示します。マウスに対応するイベントは、各コントロールのイベント(Control.ClickイベントやControl.MouseDownイベント)を使用します。
Visual Basic コードの書き方
| Visual Basic | 
                         
                            コードのコピー
                         
                     | 
                
|---|---|
                        
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    MessageBox.Show("クリックされました")
End Sub
Private Sub C1TouchEventProvider1_Tapped(sender As Object, e As C1.Win.C1TouchToolKit.TappedEventArgs) Handles C1TouchEventProvider1.Tapped
    If e.TargetControl Is Button1 Then
        MessageBox.Show("タップされました")
    End If
End Sub
                     | 
                |
C# コードの書き方
| C# | 
                         
                            コードのコピー
                         
                     | 
                
|---|---|
                        
private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show("クリックされました");
}
private void C1TouchEventProvider1_Tapped(object sender, C1.Win.C1TouchToolKit.TappedEventArgs e)
{
    if (e.TargetControl == button1)
    {
        MessageBox.Show("タップされました");
    }
}
                     | 
                |
Windowsではタッチの長押しが右クリックに変換されます。C1ToucheventProvider.EnablePressAndHoldプロパティをFalseに変更すると、C1ToucheventProvider.RightTappedイベントが発生しなくなり、長押しを繰り返しのクリック操作として検出できます。たとえばスピンボタンをマウスのボタンで長押しした場合に数値をカウントアップするような操作に割り当てることができます。
以下はNumericUpDownコントロールに対して、スピンボタンの代用となる2つのボタンを実装する例です。
Visual Basic コードの書き方
| Visual Basic | 
                                 
                                    コードのコピー
                                 
                             | 
                        
|---|---|
                                
Imports C1.Win.C1TouchToolKit
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Button1.Text = "+"
    Button2.Text = "-"
    C1TouchEventProvider1.SetEnableTouchEvents(Button1, True)
    C1TouchEventProvider1.SetEnableTouchEvents(Button2, True)
    C1TouchEventProvider1.EnablePressAndHold = False
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    If NumericUpDown1.Value < NumericUpDown1.Maximum Then
        NumericUpDown1.Value += 1
    End If
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    If NumericUpDown1.Value > NumericUpDown1.Minimum Then
        NumericUpDown1.Value -= 1
    End If
End Sub
                             | 
                        |
C# コードの書き方
| C# | 
                                 
                                    コードのコピー
                                 
                             | 
                        
|---|---|
                                
using C1.Win.C1TouchToolKit;
private void Form1_Load(object sender, EventArgs e)
{
    button1.Text = "+";
    button2.Text = "-";
    C1TouchEventProvider1.SetEnableTouchEvents(button1, true);
    C1TouchEventProvider1.SetEnableTouchEvents(button2, true);
    C1TouchEventProvider1.EnablePressAndHold = false;
}
private void button1_Click(object sender, EventArgs e)
{
    if (numericUpDown1.Value < numericUpDown1.Maximum)
    {
        numericUpDown1.Value += 1;
    }
}
private void button2_Click(object sender, EventArgs e)
{
    if (numericUpDown1.Value > numericUpDown1.Minimum)
    {
        numericUpDown1.Value -= 1;
    }
}
                             | 
                        |