From bce34ad0abf60f7b87a686581cdd9435366fddd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=B8=D1=82=D0=B0=20=D0=9F=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D0=BF=D0=BE=D0=B2?= Date: Sat, 14 Sep 2024 19:00:32 +0400 Subject: [PATCH] =?UTF-8?q?=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=80=D0=B0=D0=B7=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA?= =?UTF-8?q?=D1=83=20=D0=B2=D1=82=D0=BE=D1=80=D0=BE=D0=B3=D0=BE=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserControlDatePicker.Designer.cs | 1 + .../Components/UserControlDatePicker.cs | 35 +++++++++++++------ 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/WinFormSolution/Components/UserControlDatePicker.Designer.cs b/WinFormSolution/Components/UserControlDatePicker.Designer.cs index 8a27f6c..5ae63ca 100644 --- a/WinFormSolution/Components/UserControlDatePicker.Designer.cs +++ b/WinFormSolution/Components/UserControlDatePicker.Designer.cs @@ -39,6 +39,7 @@ dateTimePicker.Name = "dateTimePicker"; dateTimePicker.Size = new Size(92, 23); dateTimePicker.TabIndex = 0; + dateTimePicker.ValueChanged += dateTimePicker_ValueChanged; // // UserControlDatePicker // diff --git a/WinFormSolution/Components/UserControlDatePicker.cs b/WinFormSolution/Components/UserControlDatePicker.cs index b8eb7de..f642455 100644 --- a/WinFormSolution/Components/UserControlDatePicker.cs +++ b/WinFormSolution/Components/UserControlDatePicker.cs @@ -1,13 +1,4 @@ using Components.Exceptions; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; namespace Components { @@ -23,7 +14,7 @@ namespace Components { throw new RangeNotSetException("Диапазон дат не задан"); } - if (dateTimePicker.Value < MinDate && dateTimePicker.Value > MaxDate) + if (dateTimePicker.Value < MinDate || dateTimePicker.Value > MaxDate) { throw new ValueOutOfRangeException("Значение даты вне диапазона"); } @@ -31,12 +22,34 @@ namespace Components } set { - + if (MinDate != null && MaxDate != null) + { + if (value >= MinDate && value <= MaxDate) + { + dateTimePicker.Value = value; + } + } + } + } + private EventHandler _onValueChangedEvent; + public event EventHandler ValueChanged + { + add + { + _onValueChangedEvent += value; + } + remove + { + _onValueChangedEvent -= value; } } public UserControlDatePicker() { InitializeComponent(); } + private void dateTimePicker_ValueChanged(object sender, EventArgs e) + { + _onValueChangedEvent?.Invoke(sender, e); + } } }