日期:2014-05-18  浏览次数:21186 次

C# timer事件为什么出现死循环,应该怎么解决?
以下是代码,请大家帮忙参考一下,谢谢!

C# code


private void tim_icon_Tick(object sender, EventArgs e)
        {if (sys_UserID != "" && sys_UserID != null)
            {
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load("http://localhost:3711/WebMiddle/ChatList.aspx?uid=" + sys_UserID + "&fsid=" + sys_fsid + "&hash=" + chkHash);
                XmlNodeList lists = xmldoc.SelectNodes("/root/names");
                if (lists.Count > 0)
                {
                    ToolStripMenuItem item = null;
                    foreach (XmlNode xn in lists)
                    {
                        item = new ToolStripMenuItem();
                        item.Name = "chatuser_" + xn.ChildNodes[2].InnerText.ToString() + "-" + xn.ChildNodes[1].InnerText.ToString();
                        item.Text = xn.ChildNodes[0].InnerText.ToString() + "     (" + xn.ChildNodes[3].InnerText.ToString() + ")";
                        item.Click += new EventHandler(contextList_item_Click);
                        item.Size = new System.Drawing.Size(100, 50);

                        contextList.Items.Add(item);

                    }
                }
}




------解决方案--------------------
time不停止,本来就是循环
------解决方案--------------------
thread.sleep(100);
------解决方案--------------------
探讨
time不停止,本来就是循环

------解决方案--------------------
tim_icon.Stop(); 。。。。
------解决方案--------------------
tim_icon.Enable = false;
------解决方案--------------------
Timer事件就是间隔一定的时间执行一次啊,这个间隔你可以设置