源代码如下:
public Form1()
        {
            InitializeComponent();
            linkLabel1.Text = string.Empty;
           
        }        private void TContorlMove_Tick(object sender, EventArgs e)
        {
            linkLabel1.Left -= 3;
        }        private void Form1_Load(object sender, EventArgs e)
        {
            string title = string.Empty;
            string url = string.Empty;
            string pubDate = string.Empty;            
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Application.StartupPath + @"\test.xml");
            XmlNodeList rssItems = xmlDoc.SelectNodes("rss/channel/item");
            StringBuilder sb = new StringBuilder();
            sb.Length = 0;
            foreach (XmlNode node in rssItems)
            {
                title = string.Empty;
                url = string.Empty;
                pubDate = string.Empty;
                title = node.SelectSingleNode("title").InnerText;
                url = node.SelectSingleNode("link").InnerText;
                if (node.SelectSingleNode("pubDate") != null)
                {
                    pubDate = node.SelectSingleNode("pubDate").InnerText;
                    if (pubDate.IndexOf("-") > 0)
                        pubDate = "(" + pubDate.Substring(pubDate.IndexOf("-") + 1, pubDate.Length - pubDate.IndexOf("-") - 1) + ")";
                }
                int lenTitle = (title + pubDate).Length;
                int lenLinkL = sb.Length;
                sb.Append(title + pubDate + "   ");
                LinkLabel.Link linkChild = new LinkLabel.Link(lenLinkL, lenTitle);
                linkChild.Tag = url;
                linkLabel1.Links.Add(linkChild);  
            }
            linkLabel1.Text = sb.ToString();
        }

解决方案 »

  1.   

    用异步解决不了问题,
    因为用异步只是在不同的线程,处理的次数和复杂度还是CPU做的工作我看你代码,就是散板XML,然后赋值 ,Foreach遍历还是检索赋值啊,
    没有看到marquee,,,,0.1秒刷新位置的代码啊
      

  2.   

    和电视刷新动作,,Flash帧一样的原理.
    你一秒中刷50次,也就是貌似电灯的频率吧中间控制linklable的位置 ,,
    CPU应该不会这么耗的
    是你Timer定时器里算法问题,,如果间隔是1毫秒的话,,
    一秒钟一千次,要执行的代码太多,会是你说的那种情况