Как группировать свойства элемента управления в действиях

#c# #properties #controls #grouping

#c# #свойства #элементы управления #группировка

Вопрос:

У меня есть несколько форм. В этих формах в заголовке формы могут быть кнопки или другие элементы управления. Вы можете представить панель инструментов Office.

Ее вопрос вызывает мой вопрос: одна из моих форм — типичная форма CRM для обработки обращений / ЗАДАЧ. В этой форме у меня есть таблица вкладок с несколькими вкладками. На одной из вкладок у меня есть список, содержащий все документы, относящиеся к этому ДЕЛУ / ЗАДАЧЕ. Текущая проблема заключается в следующем: я собираюсь включить множественный выбор, что означает, что другие инструменты, которые пользователь может вызвать из этой формы, смогут обрабатывать несколько документов. Теперь это несложно сделать, но дело в том, что при выборе нескольких документов мне нужно отключить некоторые элементы управления в «меню Office». Один из способов сделать это, конечно, реализовать код для щелчка даже в списке и подсчета выбранных, а если их несколько, то отключить / включить кнопки.
Конечно, простое решение, но потом я подумал — Эй, это то, что мне понадобится во многих местах. Затем я подумал о написании класса для этого, где у меня мог бы быть метод AddItem для добавления элементов управления, и тогда у этого класса был бы метод для вызова каждый раз, когда я обращаюсь к нему.

Я рассмотрел множество способов сделать это, от использования ComponentModel до даже реализации системы.Пространство имен действий, но я чувствую, что, возможно, я не на правильном пути. Может быть, мне просто нужно создать этот простой класс, а может и нет.

Любые мысли…

Комментарии:

1. Я немного не разбираюсь в деталях, но то, что вы делаете сейчас, звучит неплохо. Элемент управления list не знает о поведении других элементов управления. Он просто вызывает событие при изменении его выбора. Что-то еще, что знает как о списке, так и о других элементах управления (например, о форме, частью которой они являются), отвечает за включение / отключение других элементов управления. Просмотр кода, который вы пытаетесь не дублировать, может упростить предложение о том, как упаковать его во что-то повторно используемое.

2. Привет и спасибо за ваш ответ.

3. Да, и я подумываю о написании класса для этого, но если класс может наследовать что-то полезное, было бы неплохо. У меня пока нет кода, поэтому показывать нечего. Просто пытался выяснить, на правильном ли я пути. Это должно быть что-то многоразовое,