StylusPlugIn.OnStylusMove(RawStylusInput) 方法     
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当触笔移到数字化仪上时,在笔线程上发生。
protected:
 virtual void OnStylusMove(System::Windows::Input::StylusPlugIns::RawStylusInput ^ rawStylusInput);protected virtual void OnStylusMove (System.Windows.Input.StylusPlugIns.RawStylusInput rawStylusInput);abstract member OnStylusMove : System.Windows.Input.StylusPlugIns.RawStylusInput -> unit
override this.OnStylusMove : System.Windows.Input.StylusPlugIns.RawStylusInput -> unitProtected Overridable Sub OnStylusMove (rawStylusInput As RawStylusInput)参数
- rawStylusInput
- RawStylusInput
一个包含有关笔输入信息的 RawStylusInput。
示例
下面的示例演示如何重写 OnStylusMove 方法。 若要创建将墨迹限制为特定区域的控件 StylusPlugIn ,请参阅 StylusPlugIn 概述。
protected override void OnStylusMove(RawStylusInput rawStylusInput)
{
    // Run the base class before modifying the data
    base.OnStylusMove(rawStylusInput);
    // Get the StylusPoints that have come in
    StylusPointCollection stylusPoints = rawStylusInput.GetStylusPoints();
    // Modify the (X,Y) data to move the points 
    // inside the acceptable input area, if necessary
    for (int i = 0; i < stylusPoints.Count; i++)
    {
        StylusPoint sp = stylusPoints[i];
        if (sp.X < 50) sp.X = 50;
        if (sp.X > 250) sp.X = 250;
        if (sp.Y < 50) sp.Y = 50;
        if (sp.Y > 250) sp.Y = 250;
        stylusPoints[i] = sp;
    }
    // Copy the modified StylusPoints back to the RawStylusInput
    rawStylusInput.SetStylusPoints(stylusPoints);
}
Protected Overrides Sub OnStylusMove(ByVal rawStylusInput As RawStylusInput) 
    ' Run the base class before we modify the data
    MyBase.OnStylusMove(rawStylusInput)
    
    ' Get the StylusPoints that have come in
    Dim stylusPoints As StylusPointCollection = rawStylusInput.GetStylusPoints()
    
    ' Modify the (X,Y) data to move the points 
    ' inside the acceptable input area, if necessary.
    Dim i As Integer
    For i = 0 To stylusPoints.Count - 1
        Dim sp As StylusPoint = stylusPoints(i)
        If sp.X < 50 Then
            sp.X = 50
        End If
        If sp.X > 250 Then
            sp.X = 250
        End If
        If sp.Y < 50 Then
            sp.Y = 50
        End If
        If sp.Y > 250 Then
            sp.Y = 250
        End If
        stylusPoints(i) = sp
    Next i
    
    ' Copy the modified StylusPoints back to the RawStylusInput.
    rawStylusInput.SetStylusPoints(stylusPoints)
End Sub
注解
此方法在笔线程上发生,因此尽量减少此方法中的工作,以避免影响性能。