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>(); } }
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; } }