Экранная заставка на C#

Экран-заставка приложения

Профессиональные программные приложения .NET очень часто имеют экран-заставку, который появляется во время загрузки приложения. Экран-заставка не только дает пользователю что-то, на что можно посмотреть во время загрузки программы, но и дает профессиональную презентацию вашим приложениям C#.

Хотя приложения могут иметь очень простые экраны-заставки C#, в этой статье давайте рассмотрим компоненты создания расширенного экрана-заставки. Для теней и прозрачности потребуется несколько вызовов API для включения прозрачности в фоновом изображении формы окна.

Требуются вызовы API

Наиболее важной функцией API для создания экрана-заставки C# будет UpdateLayeredWindow. UpdateLayerWindow — очень полезная функция. Это не только позволит нашему приложению отображать фоновые изображения с трансперативностью, которая включает в себя тени.

Однако это будет не единственный вызов API, так как форма-заставка будет отображать изображение, нам нужны некоторые общие вызовы API для обработки изображений.

Все объявления включены в класс API

Расширения стиля WinForm

Существует одна последняя корректировка для установки формы Windows. Стиль Form необходимо расширить, чтобы разрешить «слои», которые будут использоваться вызовами API. Чтобы задать WS_EX_LAYERED экрана-заставки, необходимо переопределить свойство CreateParams.

В сочетании с вызовами API экран-заставка C# теперь может отображать тени и даже прозрачные области, как профессиональное программное приложение. Единственным недостатком является вызов API UpdateLayeredWindow (который отображает изображение) приводит к тому, что обычные элементы управления не отображаются. Обойти это невозможно, кроме как перейти на более новые технологии, такие как WPF.

Ниже будет представлен листинг программы, а вам остается лишь разместить картинку на форме и установить следующие свойства формы:

StartPosition-CenterScreen

FormBorderStyle-None

BackgroundImage-ваша картинка заставки

AutoScaleMode-Font

TopMost-true

 

Обновлено: 08.01.2022 — 15:11

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.