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

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

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

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

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

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

Название свойства Значение свойства
(Name) frmMain
FormBorderStyle None
BackColor White
WindowState Maximized

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

Пример ScreenSaver

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

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

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

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

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

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

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

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

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

Название свойства Значение свойства
(Name) FormConfigure
Icon ваш файл с иконкой
ShowInTaskbar false
Text Настройки
StartPosition CenterScreen
MaximizeBox false
MinimizeBox false

Сразу скажу, насчет формы 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.

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

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

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