[]
Occurs when an otherwise unhandled Hold interaction occurs over the hit test area of the specific control.
public event EventHandler<HoldingEventArgs> Holding
Type | Description |
---|---|
EventHandler<HoldingEventArgs> | Occurs when an otherwise unhandled Hold interaction occurs over the hit test area of the specific control. |
The Tapped, DoubleTapped, and RightTapped events occur only after the touch point is removed. But the Holding event occurs while the touch point is still in contact. The event occurs if the touch point remains in approximately the same position for a period of time.
This event is a routed event. If you do not want parent control receive this event, set HoldingEventArgs.Handled
The following code example shows how to use this event.
This code example is part of a larger example provided for the C1TouchEventProvider class.
public class GcTouchEventProviderDemo : Form
{
private Panel _bluePanel;
private ListBox _messageListBox;
private GcTouchEventProvider _gcTouchEventProvider = new GcTouchEventProvider();
public GcTouchEventProviderDemo()
{
InitializeComponent();
// Enable all manipulation interaction modes.
_gcTouchEventProvider.ManipulationMode = ManipulationModes.All;
// EnablePressAndHold and EnablePenFlicks property default value is True;
// Attach GcTouchEventprovider to Panel.
_gcTouchEventProvider.SetEnableTouchEvents(_bluePanel, true);
_gcTouchEventProvider.Holding += _gcTouchEventProvider_Holding;
}
private void _gcTouchEventProvider_Holding(object sender, HoldingEventArgs e)
{
string log = "Target: " + e.TargetControl.Name + " Event: Holding" + " X: " + e.Position.X.ToString() + " Y:" + e.Position.Y.ToString();
_messageListBox.Items.Add(log);
}
private void InitializeComponent()
{
_bluePanel = new Panel();
_bluePanel.Name = "Blue";
_bluePanel.BackColor = Color.Blue;
_bluePanel.Size = new Size(200, 200);
_bluePanel.Location = new Point(20, 20);
_messageListBox = new ListBox();
_messageListBox.Size = new Size(750, 310);
_messageListBox.Location = new Point(20, 240);
this.Controls.Add(_bluePanel);
this.Controls.Add(_messageListBox);
}
}
Public Class GcTouchEventProviderDemo
Inherits Form
Private _bluePanel As Panel
Private _messageListBox As ListBox
Private _gcTouchEventProvider As New GcTouchEventProvider()
Public Sub New()
InitializeComponent()
' Enable all manipulation interaction modes.
_gcTouchEventProvider.ManipulationMode = ManipulationModes.All
' EnablePressAndHold and EnablePenFlicks property default value is True;
' Attach GcTouchEventprovider to Panel.
_gcTouchEventProvider.SetEnableTouchEvents(_bluePanel, True)
AddHandler _gcTouchEventProvider.Holding, AddressOf _gcTouchEventProvider_Holding
End Sub
Private Sub _gcTouchEventProvider_Holding(sender As Object, e As HoldingEventArgs)
Dim log As String = "Target: " & Convert.ToString(e.TargetControl.Name) & " Event: Holding" & " X: " & e.Position.X.ToString() & " Y:" & e.Position.Y.ToString()
_messageListBox.Items.Add(log)
End Sub
Private Sub InitializeComponent()
_bluePanel = New Panel()
_bluePanel.Name = "Blue"
_bluePanel.BackColor = Color.Blue
_bluePanel.Size = New Size(200, 200)
_bluePanel.Location = New Point(20, 20)
_messageListBox = New ListBox()
_messageListBox.Size = New Size(750, 310)
_messageListBox.Location = New Point(20, 240)
Me.Controls.Add(_bluePanel)
Me.Controls.Add(_messageListBox)
End Sub
End Class