|
Battery Guard for Notebooks - использованные технологии
|
|
|
|
|
|
|
Окна нестандартной формы
Получив, как это описано в предыдущей статье, всю необходимую информацию об электропитании ноутбука, мы приходим к необходимости отобразить ее в графическом виде.
Естественно, мы не хотим отображать полоску в стандартном окне, оснащенном заголовком, рамкой и прочими не нужными нам элементами! Мы хотим отобразить индикатор так, как это показано на скриншоте.
Это означает, что нам нужно окно нестандартной формы.
Прежде всего, избавимся от служебных элементов окна. Это делается очень просто:.
FormBorderStyle = FormBorderStyle.None;
|
Однако, мы еще не достигли нужного нам эффекта. Мы пока получили только прямоугольное окно без рамки.
Окна нестандартной формы рисуются с помощью эффекта прозрачности.
Для его использования надо выполнить два действия:
- Установить "прозрачный" цвет.
- Нанести на "холст" окна изображение, в котором "лишние" части прямоугольника будут заполнены тем же цветом.
Вот так мы получаем полностью прозрачное окно:
BackColor = Color.Black;
TransparencyKey = Color.Black;
|
Все, что нам осталось - отобразить в окне индикатор. Черный цвет используем для промежутков между "кирпичиками" - они тоже будут прозрачными.
Другой способ нанести нужное изображение - просто загрузить его из ресурса. При этом в ресурсе должно лежать готовое изображение с закрашенными "прозрачным" цветом "лишними" частями. Этот способ я использовал для информационных окон.
Делается это через свойство BackgroundImage, которое можно установить в редакторе свойств окна.
Более подробную информацию обо всех использованных классах и их свойствах можно найти в MSDN.
Если есть что добавить или есть вопросы - почта и мой блог (записи с тегом "статьи") к Вашим услугам.
Alex Konuhoff.
|
|
|
|