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 VisableComponents { public partial class MyCheckList : UserControl { private EventHandler onValueChanged; public event EventHandler ValueChanged { add { onValueChanged += value; } remove { onValueChanged -= value; } } public MyCheckList() { InitializeComponent(); } public void LoadValues(List Values) { checkedList.Items.AddRange(Values.ToArray()); } public void RemoveAll() { checkedList.Items.Clear(); } public string selectedValue { get { if(checkedList.SelectedItem is null) return ""; else return checkedList.SelectedItem.ToString(); } set { if (checkedList.SelectedItem is null) return; checkedList.Items[checkedList.SelectedIndex] = value; } } private void checkedList_ItemCheck(object sender, ItemCheckEventArgs e) { Random rn = new Random(); checkedList.BackColor = Color.FromArgb(rn.Next(0,255), rn.Next(0, 255), rn.Next(0, 255)); onValueChanged?.Invoke(this,e); } } }