在WPF应用程序VS 2010中,我基本上需要打印文档并在几秒钟后开始打印时检查错误。
目前我正在使用Thread.Sleep(2000)
,但它不起作用。我认为try
代码正在UI线程中运行。
知道怎么解决吗?还是更好的方法?
在这种特定情况下,我不关心UI线程是否被阻止几秒钟。
try
{
printer = new Printer();
printer.PrintTicket(dataAdv);
// check eventual problem during printing like paper jamp
Thread.Sleep(2000);
if (monitorPrinter.IsPrinterReady() == false)
{
isPrinterReady = false;
MessageBox.Show("Problem during the printing!!!");
}
}
答案 0 :(得分:1)
解决我的问题,感谢所有人指出我正确的方向。
try
{
printer = new Printer();
printer.PrintTicket(dataAdv);
System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 5);
dispatcherTimer.Start();
}
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
if (monitorPrinter.IsPrinterReady() == false)
{
MessageBox.Show("SOME PROBLEM WHEN PRINTING!");
}
}