예제 #1
0
        /// <summary>
        /// Исправить выделение цветом при записи в начало файла!
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="type"></param>
        /// <param name="inStart"></param>
        public void StatusMessage(string msg, MessagesTypes type, bool inStart)
        {
            try
            {
                BeginInvoke(new Action(() => //из потоков
                {
                    if (textBoxMessages == null || textBoxMessages.IsDisposed)
                    {
                        return;
                    }

                    if (inStart)
                    {
                        textBoxMessages.Select(0, 0);
                    }

                    System.Drawing.FontStyle newFontStyle;
                    string symbol = "";
                    switch (type)
                    {
                    case MessagesTypes.Info:
                        symbol = "";
                        break;

                    case MessagesTypes.Attention:
                        symbol       = "! "; //Важная инфа к вниманию
                        newFontStyle = FontStyle.Bold;
                        textBoxMessages.SelectionFont = new Font(
                            textBoxMessages.Font.FontFamily,
                            textBoxMessages.Font.Size,
                            newFontStyle
                            );
                        textBoxMessages.SelectionColor = Color.Green;
                        textBoxMessages.SelectedText   = symbol;
                        break;

                    case MessagesTypes.Warning:
                        symbol       = "!! "; //Предупреждение
                        newFontStyle = FontStyle.Bold;
                        textBoxMessages.SelectionFont = new Font(
                            textBoxMessages.Font.FontFamily,
                            textBoxMessages.Font.Size,
                            newFontStyle
                            );

                        textBoxMessages.SelectionColor = Color.LightPink;
                        textBoxMessages.SelectedText   = symbol;
                        break;

                    case MessagesTypes.Error:
                        symbol       = "!!! "; // Ошибка
                        newFontStyle = FontStyle.Bold;
                        textBoxMessages.SelectionFont = new Font(
                            textBoxMessages.Font.FontFamily,
                            textBoxMessages.Font.Size,
                            newFontStyle
                            );
                        textBoxMessages.SelectionColor = Color.Red;
                        textBoxMessages.SelectedText   = symbol;

                        if (IsCollapsed)     //если свернуто то подсветим
                        {
                            panelTop.BackColor = Color.Red;
                        }
                        break;
                    }

                    newFontStyle = FontStyle.Regular;
                    textBoxMessages.SelectionFont = new Font(
                        textBoxMessages.Font.FontFamily,
                        textBoxMessages.Font.Size,
                        newFontStyle
                        );

                    if (type != MessagesTypes.Normal) //Для нормального не отображаем время и не выделяем
                    {
                        string time = DateTime.Now.ToString();
                        textBoxMessages.SelectionColor = Color.Blue;  //выбираем цвет отображения
                        textBoxMessages.SelectedText   = time + ": "; //задаем выделения текста и выводим его
                    }

                    textBoxMessages.SelectionColor = Color.Black;

                    textBoxMessages.SelectedText = (msg + Environment.NewLine);
                }
                                       ));
            }
            catch
            {
            }
        }
예제 #2
0
 /// <summary>
 /// Выводим сообщение в окно лога. Последнее в начало
 /// </summary>
 /// <param name="msg">сообщение</param>
 /// <param name="type">Тип сообщения: Важно,Ошибка,Предупреждение</param>
 public void StatusMessage(string msg, MessagesTypes type)
 {
     StatusMessage(msg, type, true);
 }