53 lines
1.3 KiB
C#
53 lines
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Windows.Forms;
|
|
|
|
namespace KryukovLib
|
|
{
|
|
public partial class CustomListBox : UserControl
|
|
{
|
|
private ListBox listBox;
|
|
|
|
public CustomListBox()
|
|
{
|
|
InitializeComponent();
|
|
InitializeListBox();
|
|
}
|
|
|
|
private void InitializeListBox()
|
|
{
|
|
listBox = new ListBox
|
|
{
|
|
Dock = DockStyle.Fill,
|
|
SelectionMode = SelectionMode.One
|
|
};
|
|
this.Controls.Add(listBox);
|
|
}
|
|
|
|
// Публичное свойство для получения и установки выбранного значения
|
|
public string SelectedValue
|
|
{
|
|
get => listBox.SelectedItem?.ToString() ?? string.Empty;
|
|
set
|
|
{
|
|
if (listBox.Items.Contains(value))
|
|
listBox.SelectedItem = value;
|
|
}
|
|
}
|
|
|
|
|
|
// Публичное свойство для прямого доступа к элементам Items
|
|
public ListBox.ObjectCollection ItemCollection
|
|
{
|
|
get => listBox.Items;
|
|
}
|
|
|
|
// Публичный метод для очистки списка
|
|
public void ClearList()
|
|
{
|
|
listBox.Items.Clear();
|
|
}
|
|
|
|
}
|
|
}
|