Share via


PenInputPanelMovingEventHandler (Delegado)

Actualización: noviembre 2007

Representa el método que controla el evento PanelMoving de un objeto PenInputPanel.

Espacio de nombres:  Microsoft.Ink
Ensamblado:  Microsoft.Ink (en Microsoft.Ink.dll)

Sintaxis

'Declaración
Public Delegate Sub PenInputPanelMovingEventHandler ( _
    sender As Object, _
    e As PenInputPanelMovingEventArgs _
)
'Uso
Dim instance As New PenInputPanelMovingEventHandler(AddressOf HandlerMethod)
public delegate void PenInputPanelMovingEventHandler(
    Object sender,
    PenInputPanelMovingEventArgs e
)
public delegate void PenInputPanelMovingEventHandler(
    Object^ sender, 
    PenInputPanelMovingEventArgs^ e
)
/** @delegate */
public delegate void PenInputPanelMovingEventHandler(
    Object sender,
    PenInputPanelMovingEventArgs e
)
JScript no admite delegados.

Parámetros

Comentarios

Utilice el evento PanelMoving para cambiar la posición del panel de entrada manuscrita cambiando parámetros Top y Left.

Advertencia

Los métodos Refresh y MoveTo hacen que el objeto PenInputPanel llame a su código posicionamiento automático, que activa un evento PanelMoving. Por tanto, si se llama a estos métodos dentro de un delegado de PenInputPanelMovingEventHandler se puede producir un bucle sin fin.

Ejemplos

En este ejemplo de C#, se crea un objeto PenInputPanel, thePenInputPanel, y se asocia a un control InkEdit, theInkEdit. A continuación, se agrega un controlador de eventos PanelMoving y un controlador de eventos VisibleChanged a thePenInputPanel. En el controlador VisibleChanged, la posición del panel de entrada manuscrita cambia, lo que hace que se desencadene el evento PanelMoving. Posteriormente, el controlador PanelMoving establece el texto del control InkEdit asociado en una oración que contiene las nuevas coordenadas de pantalla del panel de entrada manuscrita.

[C#]

//...

// 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(theInkEdit);

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

En este ejemplo de Microsoft® Visual Basic® .NET se crea un objeto PenInputPanel, thePenInputPanel, y se asocia a un control InkEdit, theInkEdit. A continuación, se agrega un controlador de eventos PanelMoving y un controlador de eventos VisibleChanged a thePenInputPanel. En el controlador VisibleChanged, la posición del panel de entrada manuscrita cambia, lo que hace que se desencadene el evento PanelMoving. Posteriormente, el controlador PanelMoving establece el texto del control InkEdit asociado en una oración que contiene las nuevas coordenadas de pantalla del panel de entrada manuscrita.

[Visual Basic]

'...

' 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(theInkEdit)

    ' 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

Plataformas

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

Microsoft.Ink (Espacio de nombres)

PenInputPanel.OnPanelMoving