Вы должны войти, чтобы создавать сообщения и темы.

Присвоить одинаковому событию всех контролов на форме одинаковый код

Привет. Когда то я искал способ создать comboCheckedBox, но не один из вариантов меня не устроил. Сделал свой костыльный вариант. textBox с расположенным под ним CheckedListBox который скрыт по умолчанию но отображается и скрывается по клику на textBox. Но этого недостаточно.

Можно ли как то приписать ВСЕМ контролам на форме, и самой форме событие MouseClick с коротким кодом СкопированоCheckedListBox1.Visible = false;
На форме у меня есть label, textBox, checkBox, comboBox и кнопки. В дальнейшем возможно появятся и другие контролы, и прописывать КАЖДОМУ контролу события MouseClick мне кажется слишком неуместным. Какие варианты можно применить?

Возможно я поторопился создавать вопрос. Нашел решение. Я создал всего одно событие Form1_MouseClick с нужным мне кодом, а потом привязал это же событие ко всем остальные контролам. Это решает задачу на данный момент но может создать неприятности в будущем если я создам новый контрол но забуду привязать к нему это событие.

Все еще спрашиваю, есть ли какой то полностью автономный способ это провернуть? Что б ко всем контролам на форме автоматически привязывалось событие Form1_MouseClick, за исключением тех случаев когда я не создаю для них отдельное уникальное событие MouseClick 

Константин, Привет!
Если что

Вот

new List<Control> { textbox1, this, button1 }.ForEach(x =>
{
   x.MouseUp += (s, a) =>
   {
       CheckedListBox1.Visible = false;
    };
});


Создаешь лист из контролов (в фигурных скобках просто укажи все нужные тебе контролы для взаимодействия) и для каждого из них применяется твой "false"
Естественно, чтобы этот код начал работать, нужно его прописать либо следующей строкой после InitializeComponent(); либо добавить в Form1_Load

Лайкнул Константин
Константин