public event EventHandler<AnnLockObjectEventArgs> LockObject
The event handler receives an argument of type AnnLockObjectEventArgs containing data related to this event. The following AnnLockObjectEventArgs properties provide information specific to this event.
Property | Description |
---|---|
Cancel | Gets or sets a value indicating whether the lock operation should be canceled. |
This event will occur on a successful call to Lock.
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";
}