RichEditControl.EncryptedFilePasswordCheckFailed Event
Occurs when the encryption password is empty or invalid.
Namespace: DevExpress.XtraRichEdit
Assembly: DevExpress.XtraRichEdit.v19.1.dll
Declaration
public event EncryptedFilePasswordCheckFailedEventHandler EncryptedFilePasswordCheckFailed
Event Data
The EncryptedFilePasswordCheckFailed event's data class is EncryptedFilePasswordCheckFailedEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
DocumentName | Gets the encrypted document’s name. |
Error | Obtains the error type caused the event to raise. |
Handled | Gets or sets a value that indicates whether the event handler has completely handled the event or whether the system should continue its own processing. Inherited from HandledEventArgs. |
TryAgain | Gets or sets whether to prompt with a password again. |
Remarks
Hanlde the EncryptedFilePasswordCheckFailed event to determine the password error (PasswordRequired or RichEditDecryptionError.WrongPassword), and specify whether to enable a new password request (TryAgain).
If the TryAgain property is set to true, the RichEditControl.EncryptedFilePasswordRequested event occurs. The RichEditControl.InvalidFormatException event fires when the TryAgain property is not specifies or set to false.
Note
A complete code sample project is available at the Document Encryption (Simple Example) repository on GitHub.
private void RichEditControl1_EncryptedFilePasswordRequested(object sender, EncryptedFilePasswordRequestedEventArgs e)
{
//Count the number of attempts to enter the password
if (tryCount > 0)
{
tryCount--;
}
}
private void RichEditControl1_EncryptedFilePasswordCheckFailed(object sender, EncryptedFilePasswordCheckFailedEventArgs e)
{
//Analyze the error that led to this event
//Depending on the user input and number of attempts,
//Prompt user to enter a password again
//or create an empty file
switch (e.Error)
{
case RichEditDecryptionError.PasswordRequired:
if (tryCount > 0)
{
e.TryAgain = true;
e.Handled = true;
MessageBox.Show("You did not enter the password!", String.Format(" {0} attempts left", tryCount));
}
else
e.TryAgain = false;
break;
case RichEditDecryptionError.WrongPassword:
if (tryCount > 0)
{
if ((MessageBox.Show("The password is incorrect. Try Again?", String.Format(" {0} attempts left", tryCount),
MessageBoxButtons.YesNo)) == DialogResult.Yes)
{
e.TryAgain = true;
e.Handled = true;
}
}
break;
}
}