/// <summary> /// Avoid several messagebox'es at the same time, byt queueing the messages with this method /// If no others dialogs are being shown, the message is just shown right away /// Since this method must always we called from the UI thread, no lock'ing is needed /// </summary> /// <param name="message"></param> private void QueueMessageBoxMessage(MessageBoxMessage message) { msgBoxMessages.Enqueue(message); if (!msgBoxOpen) { while (msgBoxMessages.Count > 0) { msgBoxOpen = true; var msg = msgBoxMessages.Dequeue(); MessageBox.Show(msg.Message, "VSPC", msg.Button, msg.Image); } msgBoxOpen = false; } }