PenInputPanel.PanelMoving Event
PenInputPanel.PanelMoving Event |
Occurs when the PenInputPanel object is moving.
Definition
Visual Basic .NET Public Event PanelMoving As PenInputPanelMovingEventHandler C# public event PenInputPanelMovingEventHandler PanelMoving; Managed C++ public: __event PenInputPanelMovingEventHandler PanelMoving;
Remarks
The event handler receives an argument of type PenInputPanelMovingEventArgs containing data about this event.
The PanelMoving event is designed to be used to change the position of the pen input panel by changing the Left and Top members of the PenInputPanelMovingEventArgs object.
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 PanelMoving handler can result in a recursive endless loop.
The PanelMoving event is not raised for the Tablet PC Input Panel hover target. It is also not raised when the Input Panel resizes.
Examples
[C#]
This Microsoft® Visual 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