Share via


RealTimeStylus.AsyncPluginCollection Property

RealTimeStylus.AsyncPluginCollection Property

Gets the collection of IStylusSyncPlugin plug-ins that receive tablet pen data from the RealTimeStylus object.

Definition

Visual Basic .NET Public ReadOnly Property AsyncPluginCollection As StylusAsyncPluginCollection
C# public StylusAsyncPluginCollection AsyncPluginCollection { get; }
Managed C++ public: __property StylusAsyncPluginCollection* get_AsyncPluginCollection();

Property Value

Microsoft.StylusInput.StylusAsyncPluginCollection.

This property is read-only. This property has no default value.

Exceptions

ObjectDisposedException Leave Site: The object is already disposed.

Examples

This Microsoft® Visual C#® .NET example is a snippet from a form's Load Leave Site event handler, which creates a GestureRecognizer, DynamicRenderer, and two RealTimeStylus objects, attaches the objects in a cascaded RealTimeStylus model, and enables dynamic rendering, gesture recognition, and tablet pen data collection through the RealTimeStylus. The GestureRecognizer object is set to recognize single-stroke gestures and to only recognize the Right, ChevronRight, and ArrowRight application gestures. The primary RealTimeStylus object's WindowInputRectangle property is explicitly set to use the entire control to which the RealTimeStylus object is attached. The form itself implements the IStylusAsyncPlugin interface and is attached to the RealTimeStylus object.

[C#]using Microsoft.Ink;
using Microsoft.StylusInput;
using Microsoft.StylusInput.PluginData;

// ...

// The panel where the tablet pen data is collected.
private System.Windows.Forms.Panel thePanel;

// Declare the RealTimeStylus objects, the GestureRecognizer plugin,
// and the DynamicRenderer plug-in.
private Microsoft.StylusInput.RealTimeStylus thePrimaryRealTimeStylus = null;
private Microsoft.StylusInput.RealTimeStylus theSecondaryRealTimeStylus = null;
private Microsoft.StylusInput.GestureRecognizer theGestureRecognizer = null;
private Microsoft.StylusInput.DynamicRenderer theDynamicRenderer = null;

// The form's Load event handler.
private void theForm_Load(object sender, System.EventArgs e)
{
    // ...

    // Create a DynamicRenderer attached to the drawing area ,
    // and enable dynamic rendering.
    this.theDynamicRenderer = new DynamicRenderer(this.thePanel);
    this.theDynamicRenderer.Enabled = true;

    // Create a GestureRecognizer, and set it to recognize single-stroke gestures.
    this.theGestureRecognizer = new GestureRecognizer();
    this.theGestureRecognizer.MaxStrokeCount = 1;

    // Allow gesture recognition for specific gestures.
    this.theGestureRecognizer.EnableGestures( new ApplicationGesture[]
        {
            ApplicationGesture.Right,
            ApplicationGesture.ChevronRight,
            ApplicationGesture.ArrowRight
        } );

    // Enable gesture recognition.
    this.theGestureRecognizer.Enabled = true;

    // Create the primary and secondary RealTimeStylus objects.
    this.thePrimaryRealTimeStylus = new RealTimeStylus(this.thePanel);
    this.theSecondaryRealTimeStylus = new RealTimeStylus();

    // Add the secondary RealTimeStylus to the primary's asynchronous plug-in collection.
    this.thePrimaryRealTimeStylus.AsyncPluginCollection.Add(
        this.theSecondaryRealTimeStylus);

    // Add the dynamic renderer to the primary's synchronous plug-in collection.
    this.thePrimaryRealTimeStylus.SyncPluginCollection.Add(this.theDynamicRenderer);

    // Add the gesture recognizer to the secondary's synchronous plug-in collection.
    this.theSecondaryRealTimeStylus.SyncPluginCollection.Add(this.theGestureRecognizer);

    // Add the form to the secondary's asynchronous plug-in colleciton.
    this.theSecondaryRealTimeStylus.AsyncPluginCollection.Add(this);

    // Set the input rectangle to the entire panel for the RealTimeStylus.
    this.thePrimaryRealTimeStylus.WindowInputRectangle = new Rectangle(0,0,0,0);

    // Enable the RealTimeStylus, which allows notifications to flow to the plug-ins.
    this.thePrimaryRealTimeStylus.Enabled = true;

    // ...
}