public bool Cancel { get; set; }
true to abort, false to continue normally.
using Leadtools;
using Leadtools.Twain;
public void _twainSession_AcquirePage(object sender, TwainAcquirePageEventArgs e)
{
Application.DoEvents();
if (e.Image != null)
e.Image.Dispose();
e.Cancel = false;
}
public void TwainExceptionExample(IntPtr parent)
{
TwainSession session = null;
try
{
// initialize a new TWAIN session
session = new TwainSession();
session.Startup(parent, "manufacturer", "productFamily", "version", "application", TwainStartupFlags.None);
session.AcquirePage += new EventHandler<TwainAcquirePageEventArgs>(_twainSession_AcquirePage);
// acquire a page, if paper jam, allow the user to retry
bool done = false;
while (!done)
{
try
{
DialogResult res = session.Acquire(TwainUserInterfaceFlags.Modal | TwainUserInterfaceFlags.Show);
MessageBox.Show("Success");
done = true;
}
catch (TwainException ex)
{
if (ex.Code == TwainExceptionCode.PaperJam)
{
if (MessageBox.Show("Paper jam. Fix and retry?", "TWAIN", MessageBoxButtons.YesNo) == DialogResult.No)
done = true;
}
else
{
// other error, propogate
throw ex;
}
}
}
}
catch (TwainException ex)
{
MessageBox.Show(string.Format("Twain error:{0}Code: {1}{0}Message: {2}", Environment.NewLine, ex.Code, ex.Message));
}
catch (Exception ex)
{
MessageBox.Show(string.Format("Other error: Message:{0}", ex.Message));
}
finally
{
if (session != null)
session.Shutdown();
}
}