一尘不染

每X秒执行一次指定的功能

c#

我有一个用C#编写的Windows窗体应用程序。以下功能会在打印机是否联机时进行检查:

public void isonline()
{
    PrinterSettings settings = new PrinterSettings();
    if (CheckPrinter(settings.PrinterName) == "offline")
    {
        pictureBox1.Image = pictureBox1.ErrorImage;
    }
}

并在打印机离线时更新图像。现在,如何isonline()每2秒执行一次此功能,以便在拔下打印机电源时,表格(pictureBox1)上显示的图像变成另一张图像而无需重新启动应用程序或进行手动检查?(例如,按下运行该isonline()功能的“刷新”按钮)


阅读 216

收藏
2020-05-19

共1个答案

一尘不染

使用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()

2020-05-19