我有一个用C#编写的Windows窗体应用程序。以下功能会在打印机是否联机时进行检查:
public void isonline() { PrinterSettings settings = new PrinterSettings(); if (CheckPrinter(settings.PrinterName) == "offline") { pictureBox1.Image = pictureBox1.ErrorImage; } }
并在打印机离线时更新图像。现在,如何isonline()每2秒执行一次此功能,以便在拔下打印机电源时,表格(pictureBox1)上显示的图像变成另一张图像而无需重新启动应用程序或进行手动检查?(例如,按下运行该isonline()功能的“刷新”按钮)
isonline()
pictureBox1
使用System.Windows.Forms.Timer。
private Timer timer1; public void InitTimer() { timer1 = new Timer(); timer1.Tick += new EventHandler(timer1_Tick); timer1.Interval = 2000; // in miliseconds timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { isonline(); }
你可以调用InitTimer()在Form1_Load()。
InitTimer()
Form1_Load()