Morozov_Pibd-32_KOP/VisEl/VisableComponents/MyCheckList.cs
2023-10-13 17:33:04 +03:00

62 lines
1.6 KiB
C#

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