57 lines
1.5 KiB
C#
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");
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|