This commit is contained in:
Никита Волков 2024-09-18 19:06:51 +04:00
parent 5f19fb8329
commit cca38e76c1
3 changed files with 11 additions and 58 deletions

View File

@ -16,7 +16,7 @@ namespace WinFormsLibraryVolkov
private EventHandler _changeEvent;
// Диапазон
private string example = "Введите дату от " + DateTime.MinValue.ToShortDateString() + " до " + DateTime.MaxValue.ToShortDateString();
private string example;
// 2 публичных поля для настройки границ диапазона
public DateTime? MinDate { get; set; }
@ -68,6 +68,7 @@ namespace WinFormsLibraryVolkov
private void dateTimePicker_Enter(object sender, EventArgs e)
{
ToolTip tt = new ToolTip();
example = "Введите дату от " + MinDate?.ToShortDateString() + " до " + MaxDate?.ToShortDateString();
tt.Show(example, dateTimePicker, 30, -20, 1000);
}

View File

@ -12,9 +12,6 @@ namespace WinFormsLibraryVolkov
{
public partial class CustomSelectedCheckedListBox : UserControl
{
// Приватный список для хранения элементов
private List<string> itemsList = new List<string>();
public event EventHandler _changeEvent;
public CustomSelectedCheckedListBox()
@ -30,32 +27,10 @@ namespace WinFormsLibraryVolkov
foreach (var item in items)
{
if (!itemsList.Contains(item))
{
itemsList.Add(item);
checkedListBox.Items.Add(item, false);
}
}
}
public void AddItem(string newItem)
{
if (!itemsList.Contains(newItem))
{
itemsList.Add(newItem);
UpdateCheckedListBox();
}
}
// Метод для обновления CheckedListBox на основе itemsList
private void UpdateCheckedListBox()
{
checkedListBox.Items.Clear();
foreach (var item in itemsList)
{
checkedListBox.Items.Add(item, false);
}
}
//Cобытие, вызываемое при смене значения в CheckedListBox
public event EventHandler ChangeEvent
@ -75,7 +50,6 @@ namespace WinFormsLibraryVolkov
public void ClearList()
{
checkedListBox.Items.Clear();
itemsList.Clear();
}
// Публичное свойство для получения и установки выбранного значения

View File

@ -61,42 +61,20 @@ namespace WinFormsTestApp
}
}
private void textBoxMin_KeyPress(object sender, KeyPressEventArgs e)
{
char ch = e.KeyChar;
if (!Char.IsDigit(ch) && ch != 8 && ch != 45)
{
e.Handled = true;
}
}
private void textBoxMax_KeyPress(object sender, KeyPressEventArgs e)
{
char ch = e.KeyChar;
if (!Char.IsDigit(ch) && ch != 8 && ch != 45)
{
e.Handled = true;
}
}
private void buttonAdd_Click(object sender, EventArgs e)
{
string newItem = textBoxAdd.Text.Trim();
if (!string.IsNullOrEmpty(newItem))
{
if (!customSelectedCheckedListBox.SelectedElement.Equals(newItem))
{
if (customSelectedCheckedListBox.SelectedElement != string.Empty)
{
customSelectedCheckedListBox.SelectedElement = newItem;
var itemsToAdd = new List<string> { newItem };
// Добавляем новый элемент в список
customSelectedCheckedListBox.PopulateList(itemsToAdd);
}
else
{
customSelectedCheckedListBox.AddItem(newItem);
customSelectedCheckedListBox.SelectedElement = newItem;
}
}
MessageBox.Show("Введите элемент для добавления.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}