KOP-PIbd-32-Katysheva-N-E/ComponentsLibrary/VisualSelectionComponent.cs
2024-09-16 20:52:42 +04:00

57 lines
1.5 KiB
C#

namespace ComponentsLab
{
public partial class VisualSelectionComponent : UserControl
{
private EventHandler? _changeComboBox;
public VisualSelectionComponent()
{
InitializeComponent();
}
//Публичное свойство (set, get) для установки и получения выбранного значения (возвращает пустую строку, если нет выбранного значения)
public string comboBoxSelectedValue
{
get
{
if (comboBoxComponent.SelectedItem != null)
{
return comboBoxComponent.GetItemText(comboBoxComponent.SelectedItem);
}
else
{
return string.Empty;
}
}
set
{
if (comboBoxComponent.SelectedIndex != -1)
{
comboBoxComponent.Items[comboBoxComponent.SelectedIndex] = value;
}
}
}
// Событие, вызываемое при смене значения в ComboBox
public event EventHandler ChangeComboBox
{
add { _changeComboBox += value; }
remove { _changeComboBox -= value; }
}
private void comboBoxComponent_SelectedIndexChanged(object sender, EventArgs e)
{
_changeComboBox?.Invoke(this, e);
}
// Отдельный публичный метод отчистки списка
private void buttonClear_Click(object sender, EventArgs e)
{
comboBoxComponent.Items.Clear();
comboBoxComponent.Text = string.Empty;
comboBoxComponent.SelectedItem = null;
MessageBox.Show($"The list has been cleared");
}
}
}