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