我做了个winform程序,我想在最小化的时候托盘里显示一个气泡的提示,这个已经实现了。但是现在客户端,也就是这个winform程序,要每4小时,读取一次服务器中的XML文件。XML是
<info>
<Title>标题1:</title>
<Text>内容111111</Text>
</info>
<info>
<Title>标题2:</title>
<Text>内容222</Text>
</info>
………………!这个程序,每隔4小时读取一条信息,而这个XML还不知道有几条消息。且要气泡提示! 这个循环应该怎么写呢?
<info>
<Title>标题1:</title>
<Text>内容111111</Text>
</info>
<info>
<Title>标题2:</title>
<Text>内容222</Text>
</info>
………………!这个程序,每隔4小时读取一条信息,而这个XML还不知道有几条消息。且要气泡提示! 这个循环应该怎么写呢?
notifyIcon.ShowBalloonTip(3000, "提示","这是气球提示!", ToolTipIcon.Info);
气泡提示
http://topic.csdn.net/u/20100905/20/8dca3ad6-161e-467f-abc6-67a2da945b19.html
这个我知道。但是我想要的是,4小时后去读一次XML,如果XML里有3条消息,程序运行后4小时显示第一条消息,8小时后显示第二条,再过4小时显示第三条。全部显示完了以后,再过4小时,重新开始显示第一条!
int a=0;
private void xmlinfo(object sender, EventArgs e)
{
XmlDocument info = new XmlDocument();
info.Load(@"aaa.xml");
XmlNode pNode = info.SelectSingleNode("infos ");
XmlNodeList nodes = pNode.SelectNodes("info");
int i = nodes.Count;
if (i > a)
{
XmlNodeList Title = info.GetElementsByTagName("Title");
XmlNodeList Text = info.GetElementsByTagName("Text"); notifyIcon1.Visible = true;
notifyIcon1.BalloonTipTitle = Title[a].InnerText;
notifyIcon1.BalloonTipText = Text[a].InnerText;
notifyIcon1.ShowBalloonTip(500);//消失时间
a = a + 1;
}
else
{
this.a = 0;
}Load里加入下面代码,就能实现我想要的了。
System.Timers.Timer t = new System.Timers.Timer(60000);
t.Elapsed += new System.Timers.ElapsedEventHandler(xmlinfo);
t.AutoReset = true;
t.Enabled = true;谢谢大家
this.webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill;
this.webBrowser1.Size = new System.Drawing.Size(800, 600);
调试时提示下面错误信息:
在 System.Runtime.InteropServices.COMException 中第一次偶然出现的“System.Windows.Forms.dll”类型的异常
在 System.Runtime.InteropServices.COMException 中第一次偶然出现的“System.Windows.Forms.dll”类型的异常但好像不影响功能。懂得说下!