Приложение по проверке корректности даты - C#
Формулировка задачи:
Даны натуральные числа a, b, c, которые обозначают число, месяц, год. Проверить корректность даты. Напpимеp: дата 30.02.1998 некорректна. Найти номер этого дня с начала года. + Меню в программе.
Решение задачи: «Приложение по проверке корректности даты»
textual
Листинг программы
using System;
using System.Windows.Forms;
namespace WinForms_DateChecker
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
dayTextBox.Tag = monthTextBox;
monthTextBox.Tag = yearTextBox;
}
private void CheckDateToolStripMenuItem_Click(object sender, EventArgs e)
{
int day, month, year;
if (int.TryParse(dayTextBox.Text, out day) &&
int.TryParse(monthTextBox.Text, out month) &&
int.TryParse(yearTextBox.Text, out year))
{
DateTime dt;
try
{
dt = new DateTime(year, month, day);
TimeSpan ts = DateTime.Now - dt;
resultLabel.Text = string.Format("{1}{0}{2}", Environment.NewLine,
dt.ToShortDateString(), ts.Days);
}
catch (Exception)
{
MessageBox.Show(this, "Текущее представление даты некорректно");
}
}
else
MessageBox.Show(this, "Введите целые числа во все текстовые поля");
}
private void ClearAllВсёToolStripMenuItem_Click(object sender, EventArgs e)
{
dayTextBox.Text = string.Empty;
monthTextBox.Text = string.Empty;
yearTextBox.Text = string.Empty;
dayTextBox.Focus();
}
private void ExitToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void TextBoxes_TextChanged(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
if (tb.Tag is TextBox && tb.MaxLength == tb.Text.Length)
{
TextBox newTb = tb.Tag as TextBox;
newTb.SelectAll();
newTb.Focus();
}
}
}
}