PenInputPanelMovingEventHandler Delegate
PenInputPanelMovingEventHandler Delegate |
Represents the method that handles the PanelMoving event of a PenInputPanel object.
Definition
Visual Basic .NET Public Delegate Sub PenInputPanelMovingEventHandler( _
ByVal sender As Object, _
ByVal e As PenInputPanelMovingEventArgs _
)C# public delegate void PenInputPanelMovingEventHandler(
object sender,
PenInputPanelMovingEventArgs e
);Managed C++ public: __gc __delegate void PenInputPanelMovingEventHandler(
Object *sender,
PenInputPanelMovingEventArgs *e
);
Parameters
sender System.Object. [in] Specifies the source PenInputPanel object of this event. e Microsoft.Ink.PenInputPanelMovingEventArgs. [in] Specifies the PenInputPanelMovingEventArgs object that contains the event data.
Delegate Information
Namespace Microsoft.Ink Assembly Microsoft.Ink (microsoft.ink.dll) Strong Name Microsoft.Ink, Version=1.7.4009.0, Culture=neutral, PublicKeyToken=a2870d9cc4d021c8
Remarks
The PanelMoving event is designed to be used to change the position of the pen input panel by changing the Left and Top parameters.
The MoveTo and Refresh methods cause the PenInputPanel object to call its auto-positioning code which triggers a PanelMoving event. Consequently, calling these methods inside a PenInputPanelMovingEventHandler delegate can result in a recursive endless loop.
Examples
[C#]
This C# example creates a PenInputPanel object, thePenInputPanel, and attaches it to an InkEdit control, inkEdit1. It then adds a PanelMoving event handler and a VisibleChanged event handler to thePenInputPanel. In the VisibleChanged handler, the position of the pen input panel is changed, causing the PanelMoving event to fire. Subsequently, the PanelMoving handler sets the text of the attached InkEdit control to a sentence containing the new screen coordinates of the pen input panel.
//... // Delcare the PenInputPanel object PenInputPanel thePenInputPanel; public Form1() { // // Required for Windows Form Designer support // InitializeComponent(); // Create and attach the new PenInputPanel to an InkEdit control. thePenInputPanel = new PenInputPanel(inkEdit1); // Add a PanelMoving event handler thePenInputPanel.PanelMoving += new PenInputPanelMovingEventHandler(PanelMoving_Event); // Add a VisibleChanged event handler thePenInputPanel.VisibleChanged += new PenInputPanelVisibleChangedEventHandler(VisibleChanged_Event); } //... public void PanelMoving_Event(object sender, PenInputPanelMovingEventArgs e) { // Make sure the object that generated // the event is a PenInputPanel object if (sender is PenInputPanel) { PenInputPanel theSenderPanel = (PenInputPanel)sender; theSenderPanel.AttachedEditControl.Text = "The panel has moved to "; theSenderPanel.AttachedEditControl.Text += e.Left.ToString(); theSenderPanel.AttachedEditControl.Text += ", "; theSenderPanel.AttachedEditControl.Text += e.Top.ToString(); } } public void VisibleChanged_Event(object sender, PenInputPanelVisibleChangedEventArgs e) { // Make sure the object that generated // the event is a PenInputPanel object if (sender is PenInputPanel) { PenInputPanel theSenderPanel = (PenInputPanel)sender; // If the panel has become visible... if (e.NewVisibility) { // Move the pen input panel to screen position 100, 100 theSenderPanel.MoveTo(100, 100); } } }
[Visual Basic .NET]
This Microsoft® Visual Basic® .NET example creates a PenInputPanel object, thePenInputPanel, and attaches it to an InkEdit control, InkEdit1. It then adds a PanelMoving event handler and a VisibleChanged event handler to thePenInputPanel. In the VisibleChanged handler, the position of the pen input panel is changed, causing the PanelMoving event to fire. Subsequently, the PanelMoving handler sets the text of the attached InkEdit control to a sentence containing the new screen coordinates of the pen input panel.
'... ' Declare the PenInputPanel object Dim thePenInputPanel As PenInputPanel Public Sub New() MyBase.New() ' Required for Windows Form Designer support InitializeComponent(); ' Create and attach the new PenInputPanel to an InkEdit control. thePenInputPanel = New PenInputPanel(InkEdit1) ' Add a PanelMoving event handler AddHandler thePenInputPanel.PanelMoving, _ AddressOf PanelMoving_Event ' Add a VisibleChanged event handler AddHandler thePenInputPanel.VisibleChanged, _ AddressOf VisibleChanged_Event End Sub 'New '... Public Sub PanelMoving_Event(sender As Object, e As _ PenInputPanelMovingEventArgs) ' Make sure the object that generated ' the event is a PenInputPanel object If TypeOf sender Is PenInputPanel Then Dim theSenderPanel As PenInputPanel = CType(sender, PenInputPanel) theSenderPanel.AttachedEditControl.Text = "The panel has moved to " theSenderPanel.AttachedEditControl.Text += e.Left.ToString theSenderPanel.AttachedEditControl.Text += ", " theSenderPanel.AttachedEditControl.Text += e.Top.ToString End If End Sub 'PanelMoving_Event Public Sub VisibleChanged_Event(sender As Object, e As _ PenInputPanelVisibleChangedEventArgs) ' Make sure the object that generated ' the event is a PenInputPanel object If TypeOf sender Is PenInputPanel Then Dim theSenderPanel As PenInputPanel = CType(sender, PenInputPanel) ' If the panel has become visible... If e.NewVisibility Then ' Move the pen input panel to screen position 100, 100 theSenderPanel.MoveTo(100, 100) End If End If End Sub 'VisibleChanged_Event
See Also