←Select platform

Unlock Method

Summary
Unlocks the object(s) currently being edited (selected).
Syntax
C#
Objective-C
C++/CLI
Java
Python
public virtual void Unlock() 
- (void)unlock; 
public void unlock() 
public:  
   virtual void Unlock() 
def Unlock(self): 
Remarks

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

For more information, refer to Implementing Annotation Security.

Example
C#
using Leadtools.Annotations.Automation; 
 
using Leadtools.Annotations.Engine; 
using Leadtools.Codecs; 
using Leadtools.Controls; 
using Leadtools.Annotations.Rendering; 
using Leadtools.Annotations.WinForms; 
 
public void AnnAutomation_Lock() 
{ 
   // first add a new object to the automation 
   AnnRectangleObject rectObj = new AnnRectangleObject(); 
   rectObj.Rect = LeadRectD.Create(100, 100, 800, 800); 
   rectObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Blue"), LeadLengthD.Create(1)); 
   rectObj.Fill = AnnSolidColorBrush.Create("Yellow"); 
   _automation.Container.Children.Add(rectObj); 
 
   _automation.Invalidate(LeadRectD.Empty); 
 
   // make sure no objects are selected in the automation 
   _automation.SelectObject(null); 
 
   // Hook to the lock and unlock events 
   _automation.LockObject += _automation_LockObject; 
   _automation.UnlockObject += _automation_UnlockObject; 
 
   // 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.SelectObject(rectObj); 
 
   // see if we can lock or unlock the object (should show the password dialog to lock the object) 
   LockUnlock(_automation); 
 
   _automation.LockObject -= _automation_LockObject; 
   _automation.UnlockObject -= _automation_UnlockObject; 
} 
 
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 
   { 
      Debug.WriteLine("Cannot lock or unlock because no object is currently being edited (selected)"); 
   } 
} 
 
void _automation_LockObject(object sender, AnnLockObjectEventArgs e) 
{ 
   Debug.WriteLine(string.Format("Lock it, sending password = {0}", "secret")); 
   e.Password = "secret"; 
} 
 
void _automation_UnlockObject(object sender, AnnLockObjectEventArgs e) 
{ 
   Debug.WriteLine(string.Format("Unlock it, sending password = {0}", "secret")); 
   e.Password = "secret"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.4.25
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Annotations.Automation Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.