一个窗体上有一个textbox控件,有N条消息需要显示,但是必须显示一条,隔几秒钟再显示下一条。请问用线程还是定时器,该如何控制?

解决方案 »

  1.   

    把消息存放在一个队列里.
    每次timer事件引发就从队列里取出一条消息显示.
      

  2.   

        private IList<string> m_StringList = new List<string>();
            private int m_ViewIndex = 0;        private void Form1_Load(object sender, EventArgs e)
            {
                m_StringList.Add("11111111111111111111");
                m_StringList.Add("2");
                m_StringList.Add("3");
                m_StringList.Add("4");
                m_StringList.Add("6");
                m_StringList.Add("5");
                m_StringList.Add("7");
                timer1.Tick += new EventHandler(timer1_Tick);
                timer1.Interval = 2000; //2秒
                timer1.Enabled = true;
            }        void timer1_Tick(object sender, EventArgs e)
            {
                textBox1.Text = m_StringList[m_ViewIndex];
                m_ViewIndex++;
                if (m_ViewIndex > m_StringList.Count - 1) m_ViewIndex = 0;        }