namespace ShabComponentsLibrary { /// /// Визуальный компонент для выбора из обычного списка /// public partial class ShabSelectComponent : UserControl { private event EventHandler? _itemSelected; public ShabSelectComponent() { InitializeComponent(); } /// /// Метод, у которого в передаваемых параметрах идет список строк /// /// Список строк public void SetItems(List Items) { foreach (var Item in Items) { MainListBox.Items.Add(Item); } } /// /// Очистка списка /// public void ClearList() { MainListBox.Items.Clear(); } /// /// Установка и получение выбранного значения /// public string SelectedItem { get { return (string?)MainListBox.SelectedItem ?? string.Empty; } set { MainListBox.SelectedItem = value; } } /// /// Событие, вызываемое при смене значения в ListBox /// public event EventHandler? ItemSelected { add { _itemSelected += value; } remove { _itemSelected -= value; } } private void MainListBox_SelectedIndexChanged(object sender, EventArgs e) { _itemSelected?.Invoke(this, e); } } }