Поделиться через


Пример простого Будильника

Некоторых не устраивает то либо иное ПО выполняющее определенный Функционал такой как Будильник и Web Браузер.
Возьмём пример создания простой программы Будильник.
Для этого нам необходимо:

  • Начальное знание c#.
  • Наличие Visual Studio 2019 Community.
  • Наличие медиа файла в формате wav.
  • И немного свободного времени.

И так, начнем. Запустим Visual Studio 2019 Community и создадим приложение Windows Form .Net Framework (c#, Windows, Рабочий Стол).

https://habrastorage.org/webt/1h/kr/iz/1hkrizzme4sjfnqvbjzictfvsii.png

Назовем проект «Alarm clock», выберем версию .Net 4.7.2 и нажимаем кнопку «Создать».

https://habrastorage.org/webt/vi/kf/do/vikfdofe2xej-qqgjet9ykoitx8.png

Далее создаем форму, для этого добавим на форму следующие элементы:

элемент Управления: Его Имя

  • Button btn_Start
  • MaskedTextBox maskedTextBox1
  • Button btn_Stop
  • Button btn_SelectFont
  • Button btn_SelectColorForm
  • Button btn_About
  • Timer timer1
  • Label label1
  • Label label2

В Итоге получим форму изображенную на рисунке
https://habrastorage.org/webt/ka/is/tg/kaistgqg4jyspaxzdmhktg1fyx4.png

Далее добавим ссылку на сборку:

using System.Media;

Добавим форму О Программе и назовем её форма frmAboutBox

https://habrastorage.org/webt/uz/1b/m-/uz1bm-1cjltxqfzhp7mnqz8deby.png

и код после блока кода InitializeComponent();:

FontDialog FD = new FontDialog(); // Объявление и инициализация FontDialog
ColorDialog cd = new ColorDialog(); // Объявление и инициализация ColorDialog
frmAboutBox frmAbout = new frmAboutBox(); // Объявление и инициализация frmAboutBox, форма О Программе

Далее в блоке Инициализации формы пишем код именование элементов управления и настройки формы UI.

private void Form1_Load(object sender, EventArgs e)
{
this.Text = "Alarm clock";
btn_SelectFont.Text = "Выбор Шрифта...";
btn_Start.Text = "Завести Будильник";
btn_Stop.Text = "Остановить Будильник";
btn_About.Text = "О Программе...";
btn_SelectColorForm.Text = "Выбор Цвета...";

this.AutoSize = false;
this.MaximizeBox = false;
this.MinimizeBox = false;

label2.Visible = true;
label2.Enabled = true;
label2.Text = "";

timer1.Interval = 1000;
timer1.Enabled = true;
btn_Stop.Enabled = false;

timer1.Tick += new EventHandler(Timer1_Tick);
timer1.Start();

}

Объявляем и инициализируем переменные:

Внимание, в свойствах Backpacker.wav файла обязательно выбрать:

https://habrastorage.org/webt/a2/0j/cp/a20jcplnwgizo1p6ltbbkrv2sr8.png

SoundPlayer player = new SoundPlayer("Backpacker.wav");

bool b = false;

Далее пишем код элементов управление формы:

private void Btn_SelectFont_Click(object sender, EventArgs e)
{
FD.ShowDialog();
label1.Font = FD.Font;
label2.Font = FD.Font;
maskedTextBox1.Font = FD.Font;

}

private void Btn_Start_Click(object sender, EventArgs e)
{
if (b == false)
{
label2.Text = maskedTextBox1.Text;
timer1.Start();
maskedTextBox1.Visible = false;
btn_Start.Text = "Убрать Будильник";
b = true;

}
else if (b == true)
{
label1.Text = "00:00";
timer1.Stop();
maskedTextBox1.Visible = true;
btn_Start.Text = "Завести Будильник";

}
}

private void Timer1_Tick(object sender, EventArgs e)
{
label1.Text = DateTime.Now.Hour.ToString("00") + ":" + DateTime.Now.Minute.ToString("00") + ":" + DateTime.Now.Second.ToString("00");
if (label1.Text == label2.Text + ":00")
{
btn_Stop.Enabled = true;
player.Play();
}
}

private void Btn_Stop_Click(object sender, EventArgs e)
{
player.Stop();
btn_Stop.Enabled = false;
maskedTextBox1.Visible = true;
btn_Start.Text = "Завести Будильник";
b = false;

}

private void Btn_About_Click(object sender, EventArgs e)
{
frmAbout.ShowDialog(this);
}

private void Btn_SelectColorForm_Click(object sender, EventArgs e)
{
cd.ShowDialog();
this.ForeColor = cd.Color;
}
}

В результате получаем рабочее приложение.

https://habrastorage.org/webt/ac/j1/ol/acj1ol-wa5g89fghed2ljnksboc.png

Исходный код и рабочее приложение на моем GitHub