Exemplo n.º 1
0
        private void RedrawMessage()
        {
            if (InvokeRequired)
            {
                Invoke((MethodInvoker)RedrawMessage);
                return;
            }

            TBox_Message.Clear();

            lock (draw_msg_sync_) {
                /* 表示待ちのログと表示済みメッセージリストを結合させる */
                while (draw_msg_queue_.Count > 0)
                {
                    msg_list_all_.Add(draw_msg_queue_.Dequeue());
                }

                /* 表示待ちメッセージキューを初期化 */
                draw_msg_queue_ = new Queue <DebugMessageInfo>();
                draw_msg_last_  = null;

                /* 全メッセージを表示待ちにする */
                msg_list_all_.ForEach(minfo => draw_msg_queue_.Enqueue(minfo));

                /* 表示済みメッセージリストを初期化 */
                msg_list_all_ = new List <DebugMessageInfo>();
            }
        }
Exemplo n.º 2
0
        private void ClearMessage()
        {
            if (InvokeRequired)
            {
                Invoke((MethodInvoker)ClearMessage);
                return;
            }

            TBox_Message.Clear();

            lock (draw_msg_sync_) {
                msg_list_all_   = new List <DebugMessageInfo>();
                draw_msg_queue_ = new Queue <DebugMessageInfo>();
                draw_msg_last_  = null;
            }
        }