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();
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|