这样做的问题是我在这里使用的技巧和窍门,但似乎运行在一个循环,不会给结果。我想运行一个函数,当任何一个窗体被点击任务栏上,并打开
基本上我运行一个BackgroundWorker
命中一个url获取结果并将结果粘贴到一些Labels
。
我已经使用Form_Activated
,但它只是继续运行在一个循环中,不会停止到达BackgroundWorker
已完成的事件。
主要的代码块:
上的Form_Load我执行此功能,得到的结果并显示:
private void Form1_Load(object sender, EventArgs e)
{
pictureBox1.Show();
if (!backgroundWorker1.IsBusy)
{
backgroundWorker1.RunWorkerAsync();
}
else
{
MessageBox.Show("Thread already running....");
}
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
loadData(); // scrape a URL and paste info to Labels ....
}
这是它,现在用户将最小化应用程序,现在每当他打窗体应重新运行的任务栏图标与Form_Load中的相同。我希望这是有道理的,我已经能够做到这一点使用Form_Activate,但它一直在继续。
任何建议如何完成它?
如果你想在表单从任务栏打开时运行代码,那么也许你可以使用getfocus事件? – maam27
@ maam27没有检查那一个我会试试任何示例代码或链接 – confusedMind
任何代码,请? – VMAtm