PenInputPanel.CurrentPanel Property

PenInputPanel.CurrentPanel Property

Gets or sets which panel type is currently being used for input within the PenInputPanel object.

Definition

Visual Basic .NET Public Property CurrentPanel As PanelType
C# public PanelType CurrentPanel { get; set; }
Managed C++ public: __property PanelType* get_CurrentPanel();
public: __property void set_CurrentPanel(PanelType*);

Property Value

Microsoft.Ink.PanelType. The panel type currently used for input within the PenInputPanel object. The Handwriting panel type is the default value.

This property is read/write. This property has no default value.

Default0 Specifies the PenInputPanel object displays the last panel type used for any pen input panel in any application. If all previous references to the pen input panel have been destroyed in all active applications, a new pen input panel will use the handwriting panel type.
Inactive1 Specifies the PenInputPanel object does not accept input. This value is returned by the CurrentPanel property when the panel window is owned by another instance of the PenInputPanel object. This value is also returned if the panel window has not yet been activated.
Handwriting2 Specifies the PenInputPanel object displays the default handwriting panel for the current input language.
Keyboard3 Specifies the PenInputPanel object displays the default keyboard panel for the current input language.

Exceptions

COMException Leave Site:
ObjectDisposedException Leave Site:

Remarks

Note: The CurrentPanel property cannot be set to Default or Inactive.

When you create a PenInputPanel object, the Handwriting panel—also known as the writing pad—is the default input UI.

If you change the panel by setting the CurrentPanel property before the PenInputPanel object becomes active for the first time, a PanelChanged event occurs.

The CurrentPanel property can only be set to either the Handwriting or Keyboard value of the PanelType enumeration. The CurrentPanel property can never be set to Default or Inactive.

The CurrentPanel property returns the Inactive enumeration value if the panel window is associated with another instance of the PenInputPanel object. Setting the CurrentPanel property raises an exception if the panel is inactive or if the panel type is invalid.

Examples

[C#]

This C# example creates a PenInputPanel object, thePenInputPanel, and attaches it to an InkEdit control, theInkEdit. It attaches a VisibleChanged event handler, VisibleChanged_Event to thePenInputPanel. The event handler forces the pen input panel to display the keyboard panel whenever it becomes visible by setting the CurrentPanel property to Keyboard.

//...

// Declare 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 VisibleChanged event handler
    thePenInputPanel.VisibleChanged +=
        new PenInputPanelVisibleChangedEventHandler(VisibleChanged_Event);
}

//...

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)
        {
            // Always default to keyboard input
            if (theSenderPanel.CurrentPanel == PanelType.Handwriting)
            {
                theSenderPanel.CurrentPanel = PanelType.Keyboard;
            }
        }
    }
}

[Visual Basic .NET]

This Microsoft® Visual Basic® .NET example creates a PenInputPanel object, thePenInputPanel, and attaches it to an InkEdit control, theInkEdit. It attaches a VisibleChanged event handler, VisibleChanged_Event to thePenInputPanel. The event handler forces the pen input panel to display the keyboard panel whenever it becomes visible by setting the CurrentPanel property to Keyboard.

'...

' 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 VisibleChanged event handler
    AddHandler thePenInputPanel.VisibleChanged, _
               AddressOf VisibleChanged_Event
End Sub 'New


'...
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
          ' Always default to keyboard input
          If theSenderPanel.CurrentPanel = PanelType.Handwriting Then
             theSenderPanel.CurrentPanel = PanelType.Keyboard
          End If
       End If
    End If
End Sub 'VisibleChanged_Event

See Also