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 CreateVisualComponent { public partial class SelectionComponent : UserControl { private EventHandler? _changeEvent; public ListBox.ObjectCollection Items => listBoxSimple.Items; public SelectionComponent() { InitializeComponent(); } public event EventHandler ChangeEvent { add { _changeEvent += value; } remove { _changeEvent -= value; } } public string SelectedElement { get { return (listBoxSimple.SelectedIndex != -1 && listBoxSimple.SelectedItem != null) ? listBoxSimple.SelectedItem.ToString() : string.Empty; } set { if (!string.IsNullOrEmpty(value)) { int index = listBoxSimple.FindString(value); if (index == -1) return; listBoxSimple.SetSelected(index, true); } } } private void ListBoxSimple_SelectedIndexChanged(object sender, EventArgs e) { _changeEvent?.Invoke(sender, e); } public void Clear() { listBoxSimple.Items.Clear(); } } }