示例#1
0
        // 【线程函数】数据库写入数据的线程
        private void LogThreadMethod()
        {
            Thread.Sleep(3000);
            while (true)
            {
                if (LogsQueue.Count != 0)
                {
                    try
                    {
                        string logstring = LogsQueue.Dequeue();
                        Logger.WriteLog_info(typeof(Form1), logstring);
                        bool scroll = false;

                        MessageListControl.Invoke(new Action(() =>
                        {
                            #region 写入到测试窗口
                            int FullIndex = MessageListControl.ItemHeight == 0 ?
                                            0 :
                                            MessageListControl.Items.Count - (int)(MessageListControl.Height / MessageListControl.ItemHeight);

                            if (MessageListControl.TopIndex == FullIndex)
                            {
                                scroll = true;
                            }
                            MessageListControl.Items.Add(string.Format("[{0}]-{1}", Times.GetDateNow(), logstring));
                            if (scroll)
                            {
                                MessageListControl.TopIndex = FullIndex;
                            }
                            if (MessageListControl.Items.Count > log_length)
                            {
                                MessageListControl.Items.Clear();
                            }
                            #endregion
                        }));
                    }
                    catch { }
                }
                Thread.Sleep(25);
            }
        }
示例#2
0
 /// <summary>
 /// Method to manage the changed language event
 /// </summary>
 /// <param name="obj"></param>
 private void ManageChangedLanguage(ChangedLanguageEvent obj)
 {
     BusyControl.RefreshUI();
     MessageListControl.RefreshUI();
 }