PIbd-31_Shanygin.A.V._COP_27/ComponentOrientedProgramming/CreateVisualComponent/SelectionComponent.cs

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