Переопределение элементов управления из другой формы

У меня есть приложение, с которым мне нужно немного помочь. Он использует элементы управления DevExpress (C#, vs2012), и у меня возникли трудности с получением пользовательского элемента управления для переопределения событий из основной формы. MainForm наследует от DevExpress RibbonForm и выложен в обычном стиле Outlook, с лентой вверху, NavBar слева и областью контента справа. Как вы можете видеть из моей диаграммы, в настоящее время у меня есть MainForm а затем несколько пользовательских элементов управления, которые я загружаю в Panel контролировать, когда нажимается определенная кнопка навигационной панели. Поэтому, когда пользователь нажимает "Клиенты", Customer usercontrol загружается в области содержимого. То, что я пытаюсь сделать сейчас, в каждом UserControl, переопределить события ленты из MainForm так что я могу иметь логику в каждом UserControl. Например, в Клиенты, Save событие ленты будет делать что-то другое, чем OrdersSave событие.введите описание изображения здесь

Если у меня есть UserControls наследовать от MainFormтогда у каждого из них будут ленты и элементы навигации, которые я не хочу. Есть ли способ получить UserControls переопределить события ленты из MainForm форме?

Любая помощь / руководство приветствуется!

1 ответ

Решение

Есть ли способ заставить UserControls переопределить события ленты из формы MainForm?

Да. Это способ слияния лент.
Просто добавьте RibbonControl в каждый пользовательский элемент управления. Добавить и настроить все необходимые команды в каждом конкретном случае. Затем используйте методы RibbonControl.MergeRibbon/ RibbonControl.UnmergeRibbon при переключении между этими пользовательскими элементами управления - дочерняя лента будет объединена / распакована в / сформировать родительскую ленту.

Другие вопросы по тегам