Как Показать панель предупреждающих сообщений в winform?
мой метод DisplayAlert присутствует в моей основной форме, но я показываю все предупреждения сообщений в моих пользовательских элементах управления, если я вызываю метод DisplayAlert на пользовательском элементе управления, он ничего не показывает, но я вызываю тот же метод в моей основной форме, который показывает вывод.
Что я уже пробовал:
public partial class Main : форма
{
public static void DisplayAlert(строковое сообщение, AlertNotification enumAlertNotification)
{
var t = новый таймер();
var main = новый главный();
если (AlertNotification.Успех = = enumAlertNotification)
{
var myControl = новый AlertControl();
myControl.lblMessage.Текстовое сообщение;
мой контроль.Управления.Добавить (myControl.lblMessage);
мой контроль.BackColor = Цвет.Желто-зеленый;
главный.AlertPanel.Управления.Добавить (myControl);
моей воли.Видимое = истинное;
t. интервал = 2000;
t. Tick += (s, e) =>
{
моей воли.Видна = ложь;
Т.Стоп();
};
Т.Начать();
}
если (AlertNotification.Ошибка = = enumAlertNotification)
{
var myControl = новый AlertControl();
myControl.lblMessage.Текстовое сообщение;
мой контроль.Управления.Добавить (myControl.lblMessage);
мой контроль.Цвет Фона = Цвет.Красный;
главный.AlertPanel.Управления.Добавить (myControl);
моей воли.Видимое = истинное;
t. интервал = 3000;
t. Tick += (s, e) =>
{
моей воли.Видна = ложь;
Т.Стоп();
};
Т.Начать();
}
если (AlertNotification.Информация = = enumAlertNotification)
{
var myControl = новый AlertControl();
myControl.lblMessage.Текстовое сообщение;
мой контроль.Управления.Добавить (myControl.lblMessage);
мой контроль.BackColor = Цвет.Светло-голубой;
главный.AlertPanel.Управления.Добавить (myControl);
моей воли.Видимое = истинное;
t. интервал = 3000;
t. Tick += (s, e) =>
{
моей воли.Видна = ложь;
Т.Стоп();
};
Т.Начать();
}
}
}
// я вызываю эти строки кода в пользовательском контроле
Главный.DisplayAlert (строка.Формат("{0} {1}",TotalsCount,"Найденные Записи"), AlertNotification.Информация);
// ниже приведен мой код управления предупреждением пользователя
общественный разделяемого класса AlertControl : элемент управления UserControl
{
частная марка _lblMesage;
публичная метка lblMessage
{
получить
{
если (_lblMesage == нуль)
_lblMesage = новая метка();
вернуться _lblMesage;
}
}
общественные AlertControl()
{
это.lblMessage.Авторазмер = истина;
это.lblMessage.BackColor = Система.Рисование.Цвет.Прозрачный;
это.lblMessage.Шрифт = новая система.Рисование.Шрифт ("Century Gothic", 9.75 F, System.Рисование.Стиль шрифта.регулярная система.Рисование.GraphicsUnit. Point, ((байт) (0)));
это.lblMessage.Местоположение = новая система.Рисование.Точка (36, 7);
это.lblMessage.Размер = новая система.Рисование.Размер (188, 17);
это.lblMessage.TabIndex = 0;
метод InitializeComponent();
}
}
Philippe Mori
Используйте блок кода для вашего кода. Вы не получите большой помощи с неформатированным кодом. Никто не любит это читать.