Гайд Добавляем красивые уведомления в программу

Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
Очень давно я использую в своих проектах кастомные уведомления, принцип работы которых показывал сайт
Пожалуйста, авторизуйтесь для просмотра ссылки.
. Причин на это много, начиная от ужасных MessageBox'ов WinForms, заканчивая действительно красивым дизайном и анимацией сообщений. Вчера я решил написать небольшую библиотеку под .NET Framework 4.0, 4.5, 4.6, 4.6.1, 4.7.1, 4.7.2 и 4.8, с помощью которой вы можете с легкостью вызывать подобные уведомления в своих программах и немного кастомизировать их.
На этот раз я решил залить библиотеку на Nuget, а не публиковать простую .dll. Поэтому для ее установки нужно воспользоваться Package Manager или .NET CLI. Команды для каждой из утилит представлены ниже:

Package Manager
PM> Install-Package NotificationManager

.NET CLI
dotnet add package NotificationManager

Основные возможности
  • Отображение уведомлений с заданным текстом и типом
  • Использование кастомизируемых уведомлений
  • Изменение положения отображения и скорости анимаций
  • Возможность настройки цвета и изображений на отображаемой форме
Документация ко всем методам и свойствам библиотеки находится на странице Wiki.

Официальная страница пакета:
Пожалуйста, авторизуйтесь для просмотра ссылки.
.
GitHub репозиторий с примерами использования:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Вы можете помочь развитию проекта, создав Pull request или написав с новыми предложениями лично мне.

Gif с работой примера из репозитория:
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
v1.0.4
  • Добавлено сохранение шрифта внутри одного экземпляра класса
  • Изменены аргументы вызова метода Alert
  • Интерфейс enmType вынесен в главный класс и переименован в NotificationType
  • Добавлено сохранение и изменение цветов различных типов уведомлений (в экземпляре Colors класса Colors )
  • Убран лишний код
v1.0.5
  • Добавлен вызов кастомных уведомлений. Для этого в качестве параметра type метода Alert укажите NotificationType.Custom и добавьте аргументы типа System.Drawing.Color и System.Drawing.Image
    Размер изображения будет изменен до 45x45 путем приближения (отдаления)
  • Повышена резкость стандартных изображений
Превью кастомных уведомлений:
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
v1.0.6
  • Исправлены ошибки, связанные со сменой стандартных цветов уведомлений
  • Добавлено сохранение и изменение всех иконок формы уведомления (в экземпляре Images класса Images)
  • Добавлен метод StopTimer, останавливающий все события приложения на определенный период времени
Также приложил собранную версию из примеров с использованием функционала библиотеки. Скачать ее можно
Пожалуйста, авторизуйтесь для просмотра ссылки.
(
Пожалуйста, авторизуйтесь для просмотра ссылки.
,
Пожалуйста, авторизуйтесь для просмотра ссылки.
)
 
using c# doesnt mean that im gay, does it?
Пользователь
Статус
Оффлайн
Регистрация
16 Май 2019
Сообщения
100
Реакции[?]
35
Поинты[?]
0
бля, все понимаю, но с ютуба же вроде спизжено
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
бля, все понимаю, но с ютуба же вроде спизжено
Общая концепция - да, но в библиотеке добавлено очень много полезных функций. Вдобавок, гораздо проще воспользоваться Nuget и пятью строчками кода выводить уведомления, чем пастить с ютуба и переделывать под себя
 
using c# doesnt mean that im gay, does it?
Пользователь
Статус
Оффлайн
Регистрация
16 Май 2019
Сообщения
100
Реакции[?]
35
Поинты[?]
0
Общая концепция - да, но в библиотеке добавлено очень много полезных функций. Вдобавок, гораздо проще воспользоваться Nuget и пятью строчками кода выводить уведомления, чем пастить с ютуба и переделывать под себя
ну хотя да
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
v1.0.7
  • Добавлены новые свойства TimerInterval, WaitingTime, InvertAdding и PositionType. Описание использования находится в документации
  • Ко всем свойствам, методам и перечислениям приписаны краткие комментарии
  • Удален лишний код из предыдущих обновлений
В планах добавить возможность использования абсолютно кастомной формы и алгоритмов для ее отображения. В Также в ближайшее время добавлю документацию по использованию библиотеки.
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
v1.0.8
  • Добавлено смещение уведомлений вниз после исчезновения EnableOffset
  • Введено свойство MaxTextWidth
Все идеи предложены @enjeks. Вы также можете помочь проекту, написав мне в Telegram со своей идеей для библиотеки.
 
GodFull
Забаненный
Статус
Оффлайн
Регистрация
27 Июл 2020
Сообщения
488
Реакции[?]
128
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Красиво, как раз один проект в разработке, буду использовать спасибо.
 
Забаненный
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
46
Реакции[?]
40
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
все простое - гениально. очень лаконичные и симпатичные уведомления!
 
GodFull
Забаненный
Статус
Оффлайн
Регистрация
27 Июл 2020
Сообщения
488
Реакции[?]
128
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Прикольно на самом деле, решил протестить
Все хорошо но меня почему то меня раздражает эта кнопка закрытия
Screenshot_3.png
Иммено фон при нажатии, я бы его удалил
+ еще уведомления не показываются в новом потоке
 
Последнее редактирование:
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
меня раздражает эта кнопка закрытия
Ок, добавлю возможность отключения подсветки на выходных
еще уведомления не показываются в новом потоке
Возможно, ты объявил экземпляр класса в основном потоке, а не в дочернем
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
v1.0.9
  • Добавлено свойство HasHighlighting, которое отвечает за подсветку при наведении на кнопку закрытия уведомления
Идея предложена Zenon1488. Вы также можете помочь проекту, написав мне в Telegram со своей идеей для библиотеки.
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
v1.0.10
  • Добавлены поля onClose и onFinish. Их можно использовать для добавления событий при скрытии/закрытии уведомления.
Идея предложена Neki_play. Вы также можете помочь проекту, написав мне в Telegram со своей идеей для улучшения библиотеки.
 
Олдфаг
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
2,995
Реакции[?]
1,275
Поинты[?]
5K
Будет ли что-то подобное на C++? Могу осуществить создав собственную библиотеку на базе ImGui. Если нужно конечно)
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
Будет ли что-то подобное на C++? Могу осуществить создав собственную библиотеку на базе ImGui. Если нужно конечно)
Сомневаюсь, я imgui уже давно не занимаюсь, к сожалению
 
Сверху Снизу