Обработка ObjectDisposedException для расширения RichTextBoxExtension - C#
Формулировка задачи:
Здравствуйте. При запуске программы выводится "информирующая" форма RemindForm с RichTextBox:
Чтобы выводимая информация в RichTextBox была разных цветов, применил расширение:
При нажатии иконки в трее выводится основная форма программы, а так же если "информирующая" форма RemindForm с RichTextBox`ом открыта, то закрыть её, иначе открыть. Последнее для актуальности выводимой информации:
Так вот, если сначала закрыть "информирующую" форму RemindForm, а потом нажать на трей, то открывается основная форма и информирующая без проблем. Если же имформирующую форму не закрыть, а потом нажать на трей, вылетает исключение:
Подскажите, как обработать это исключение?
public static class RichTextBoxExtensions
{
public static void AppendText(this RichTextBox box, string text, Color color)
{
box.SelectionStart = box.TextLength;
box.SelectionLength = 0;
box.SelectionColor = color;
box.AppendText(text);
box.SelectionColor = box.ForeColor;
}
} // если лишняя форма, закрыть её:
if (Application.OpenForms["RemindForm"] != null)
{
RemindForm.CloseRemind();
}
else RemindForm.Show(); // открыть формуРешение задачи: «Обработка ObjectDisposedException для расширения RichTextBoxExtension»
textual
Листинг программы
if (Application.OpenForms["RemindForm"] != null)
{
RemindForm.CloseRemind();
}
else
{
RemindForm.Show(); // открыть форму
RemindForm.ShowRemind(strOfEvents, strOfColors, events); // вывести сообщение
}