/// <summary> /// Инвертирует видимость типа сообщения с заданным типом. /// </summary> /// <param name="type">Тип сообщения.</param> private void InverseVisibleOfTypes(MessageEventArgsType type) { // Сохраняем текущие типы сообщений для отображения. IEnumerable <MessageEventArgsType> curMsgTypes = this.VisibleItems; // Создаем список List <MessageEventArgsType> newMsgTypes = new List <MessageEventArgsType>(); // Перегруппировываем списки с типами сообщений для отображения. // В случае если искомое сообщение есть в текущем списке, то удаляем его. // В противном случае, добавляем тип сообщения в список. if (curMsgTypes.Contains(type)) { foreach (MessageEventArgsType t in curMsgTypes) { if (t != type) { newMsgTypes.Add(t); } } } else { foreach (MessageEventArgsType t in curMsgTypes) { newMsgTypes.Add(t); } newMsgTypes.Add(type); } // Присваиваем резкльтат. this.VisibleItems = newMsgTypes; }
/// <summary> /// Создает аргумент события характеризующий сообщение. /// </summary> /// <param name="type">Тип сообщения.</param> /// <param name="header">Заголовок сообщения.</param> /// <param name="text">Текст сообщения.</param> public MessageEventArgs(Object owner, MessageEventArgsType type, string header, string text) { this.Owner = owner; this.Time = DateTime.Now; this.Type = type; this.Header = header; this.Text = text; }