LEADTOOLS Annotations for WPF and Silverlight (Leadtools.Windows.Annotations assembly)

Lock Method (AnnAutomation)

Show in webframe
Example 





Locks the object(s) currently being edited (selected).
Syntax
public virtual void Lock()
'Declaration
 
Public Overridable Sub Lock() 
'Usage
 
Dim instance As AnnAutomation
 
instance.Lock()

            

            
public:
virtual void Lock(); 
Remarks

Use the CanLock property to determine whether you can currently call this method.

This method opens the AnnAutomationManager.PasswordDialogType window and uses the value entered in this dialog as the password to AnnObject.Lock.

If the AnnAutomationManager.PasswordDialogType value is null (Nothing in Visual Basic), this method will not do anything.

For more information, refer to Implementing WPF Annotation Security..

Example
Copy Code  
Imports Leadtools.Windows.Controls
Imports Leadtools.Windows.Annotations

Private Sub AnnAutomation_Lock(ByVal automation As AnnAutomation)
   ' first add a new object to the automation
   Dim rectObj As AnnRectangleObject = New AnnRectangleObject()
   rectObj.Rect = New Rect(100, 100, 100, 100)
   rectObj.Stroke = Colors.Blue
   rectObj.StrokeThickness = 1.0
   rectObj.Fill = Colors.Yellow
   automation.Container.Children.Add(rectObj)
   ' make sure no objects are selected in the automation
   automation.SelectNone()

   ' see if we can lock or unlock the object (this should show a message informing you that no objects are currently selected (bring edited)
   LockUnlock(automation)

   ' select (edit) the object we have just added
   automation.StartEditing(rectObj, False)

   ' see if we can lock or unlock the object (should show the password dialog to lock the object)
   LockUnlock(automation)

   ' see if we can lock or unlock the object (should show the password dialog to unlock the object)
   LockUnlock(automation)
End Sub

Private Sub LockUnlock(ByVal automation As AnnAutomation)
   ' first, check if we can lock the object
   If automation.CanLock Then
      ' lock this object
      automation.Lock()
   ElseIf automation.CanUnlock Then
      ' unlock this object
      automation.Unlock()
   Else
      MessageBox.Show("Cannot lock or unlock because no object is currently being edited (selected)")
   End If
End Sub
using Leadtools.Windows.Controls;
using Leadtools.Windows.Annotations;
using Leadtools.Demos;
using Leadtools.Help;

private void AnnAutomation_Lock(AnnAutomation automation)
{
   // first add a new object to the automation
   AnnRectangleObject rectObj = new AnnRectangleObject();
   rectObj.Rect = new Rect(100, 100, 100, 100);
   rectObj.Stroke = Colors.Blue;
   rectObj.StrokeThickness = 1.0;
   rectObj.Fill = Colors.Yellow;
   rectObj.StrokeThickness = 1.0;
   automation.Container.Children.Add(rectObj);
   // make sure no objects are selected in the automation
   automation.SelectNone();

   // see if we can lock or unlock the object (this should show a message informing you that no objects are currently selected (bring edited)
   LockUnlock(automation);

   // select (edit) the object we have just added
   automation.StartEditing(rectObj, false);

   // see if we can lock or unlock the object (should show the password dialog to lock the object)
   LockUnlock(automation);

   // see if we can lock or unlock the object (should show the password dialog to unlock the object)
   LockUnlock(automation);
}

private void LockUnlock(AnnAutomation automation)
{
   // first, check if we can lock the object
   if(automation.CanLock)
   {
      // lock this object
      automation.Lock();
   }
   else if(automation.CanUnlock)
   {
      // unlock this object
      automation.Unlock();
   }
   else
      MessageBox.Show("Cannot lock or unlock because no object is currently being edited (selected)");
}
using Leadtools.Windows.Controls;
using Leadtools.Windows.Annotations;
using Leadtools.Examples;
using Leadtools.Silverlight.Demos;

private void AnnAutomation_Lock(AnnAutomation automation)
{
   // first add a new object to the automation
   AnnRectangleObject rectObj = new AnnRectangleObject();
   rectObj.Rect = new Rect(100, 100, 100, 100);
   rectObj.Stroke = Colors.Blue;
   rectObj.StrokeThickness = 1.0;
   rectObj.Fill = Colors.Yellow;
   rectObj.StrokeThickness = 1.0;
   automation.Container.Children.Add(rectObj);
   // make sure no objects are selected in the automation
   automation.SelectNone();

   // see if we can lock or unlock the object (this should show a message informing you that 
   // no objects are currently selected (being edited)
   LockUnlock(automation);

   // select (edit) the object we have just added
   automation.StartEditing(rectObj, false);

   // see if we can lock or unlock the object (should show the password dialog to lock the object)
   LockUnlock(automation);

   // see if we can lock or unlock the object (should show the password dialog to unlock the object)
   LockUnlock(automation);
}

private void LockUnlock(AnnAutomation automation)
{
   // first, check if we can lock the object
   if(automation.CanLock)
   {
      // lock this object
      automation.Lock();
   }
   else if(automation.CanUnlock)
   {
      // unlock this object
      automation.Unlock();
   }
   else
      MessageBox.Show("Cannot lock or unlock because no object is currently being edited (selected)");
}
Imports Leadtools.Windows.Controls
Imports Leadtools.Windows.Annotations
Imports Leadtools.Silverlight.Demos

Private Sub AnnAutomation_Lock(ByVal automation As AnnAutomation)
   ' first add a new object to the automation
   Dim rectObj As AnnRectangleObject = New AnnRectangleObject()
   rectObj.Rect = New Rect(100, 100, 100, 100)
   rectObj.Stroke = Colors.Blue
   rectObj.StrokeThickness = 1.0
   rectObj.Fill = Colors.Yellow
   rectObj.StrokeThickness = 1.0
   automation.Container.Children.Add(rectObj)
   ' make sure no objects are selected in the automation
   automation.SelectNone()

   ' see if we can lock or unlock the object (this should show a message informing you that no objects are currently selected (bring edited)
   LockUnlock(automation)

   ' select (edit) the object we have just added
   automation.StartEditing(rectObj, False)

   ' see if we can lock or unlock the object (should show the password dialog to lock the object)
   LockUnlock(automation)

   ' see if we can lock or unlock the object (should show the password dialog to unlock the object)
   LockUnlock(automation)
End Sub

Private Sub LockUnlock(ByVal automation As AnnAutomation)
   ' first, check if we can lock the object
   If automation.CanLock Then
      ' lock this object
      automation.Lock()
   Else If automation.CanUnlock Then
      ' unlock this object
      automation.Unlock()
   Else
      MessageBox.Show("Cannot lock or unlock because no object is currently being edited (selected)")
   End If
End Sub
Requirements

Target Platforms

See Also

Reference

AnnAutomation Class
AnnAutomation Members

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.