簡體   English   中英

如何使用計時器刷新表單?

[英]How do I refresh a form with a timer?

在計時器停止計時后,我使用這段代碼刷新了我的工作一次

private void Button1_Click(object sender, EventArgs e)
    {
        System.Windows.Forms.Timer timer1 = new System.Windows.Forms.Timer();
        timer1.Interval = 900000;//5 minutes
        timer1.Tick += new System.EventHandler(Timer1_Tick);
        timer1.Start();
    }
    private void Timer1_Tick(object sender, EventArgs e)
    {
        //do whatever you want 
        RefreshMyForm();
    }
    private void RefreshMyForm()
    {
        this.Hide();
        Graph1 graph = new Graph1();
        graph.Show();

    }

我不知道我在這段代碼中想念的東西,它隱藏了它,並且沒有再次打開
開始刷新我所期待的形式

您需要將定時器的減速度從按鈕單擊中移出,並使其成為“全局”類。 另外,在Form_Load上進行設置(確保將Form_Load方法連接到Form_Load事件。

另外,您的隱藏邏輯有些錯誤。 您隱藏表單,然后創建圖形(但不要將其附加到表單)然后顯示它。 在下面添加了一些評論,以幫助您解決這些問題。

private System.Windows.Forms.Timer timer1;

private void Form_Load(object sender, EventArgs e)
{         
     timer1 = new System.Windows.Forms.Timer();
     timer1.Interval = 900000;//5 minutes
     timer1.Tick += new System.EventHandler(Timer1_Tick);
}

private void Button1_Click(object sender, EventArgs e)
{         
    if (!timer1.Enabled)
        timer1.Start();
}

private void Timer1_Tick(object sender, EventArgs e)
{
    //do whatever you want 
     RefreshMyForm();
}


private void RefreshMyForm()
{    
    // Do your data update logic here   
    this.Refresh();       
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM