Простой ScreenSaver на C#

Сегодня попытаемся написать простенькую заставку для ОС Windows на языке программирования C#. Прошу меня строго не судить, т.к. я не специализируюсь в программировании на данном языке. Иногда, для разнообразия, пишу по мелочам на нем ;-).

В качестве среды разработке мы воспользуемся Microsoft Visual Studio 2015. А также нам понадобятся такие файлы как изображение для нашего логотипа (например, размером 300×300 пикселей и в формате png) и любая иконка (16×16 пикселей) в формате ico.

Я не буду описывать все подробно, а остановлюсь лишь на важных моментах. Для удобства исходный код максимально покрою комментариями.

Итак, при первом запуске среды разработки создаем приложение типа Windows Forms Application. Для названия проекта и его решения я выбрал следующее название — SampleScreenSaver. Имя файла основной формы мы изменим на FormMain. Дополнительно добавим еще одну форму в наш проект и назовем ее как FormConfigure.

Свойства формы FormMain

Название свойстваЗначение свойства
(Name)frmMain
FormBorderStyleNone
BackColorWhite
WindowStateMaximized

Я не стал описывать подробнее указанные свойства, т.к. здесь все итак понятно. При возникновении вопросов всегда существует возможность воспользоваться справочной системой среды программирования (клавиша F1).

Пример ScreenSaver

Рис. 1. Пример расположения элементов управления на основной форме

Свойства элемента управления PictureBox

Название свойстваЗначение свойства
(Name)pbLogo
BackColorTransparent
Imageваш файл с изображением
SizeModeAutoSize

Пример моего изображения см. на рис. 1.

Свойства элемента управления Label

Название свойстваЗначение свойства
(Name)lblCopyright
ForeColorSilver
TextПрограммирование и не только

Свойства элемента управления Timer

Название свойстваЗначение свойства
(Name)tmrTimer
Interval300

Свойства формы FormConfigure

Название свойстваЗначение свойства
(Name)FormConfigure
Iconваш файл с иконкой
ShowInTaskbarfalse
TextНастройки
StartPositionCenterScreen
MaximizeBoxfalse
MinimizeBoxfalse

Сразу скажу, насчет формы FormConfigure, я не предусматриваю какие-либо настройки для нашей заставки. При желании вы самостоятельно сможете добавить свои настройки (например, сохранять значения настроек в реестре Windows).

Пришла очередь рассмотреть исходный код форм и нашего проекта.

Файл Program.cs.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace SampleScreenSaver
{
static class Program
{
/// <summary>
/// Главная точка входа для приложения.
/// </summary>
[STAThread]
static void Main(string[] args)
{
if (args.Length > 0)
{
if (args[0].ToLower().Trim().Substring(0, 2) == "/s")
{
// Отобразить заставку
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ShowScreenSaver();
Application.Run();
}
else if (args[0].ToLower().Trim().Substring(0, 2) == "/p")
{
// Предварительный просмотр заставки
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmMain(new IntPtr(long.Parse(args[1]))));
}
else if (args[0].ToLower().Trim().Substring(0, 2) == "/c")
{
// Отображение окна с настройками заставки
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FormConfigure());
}
}
else
{
// Отобразить заставку
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ShowScreenSaver();
Application.Run();
}
}

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: