Переопределение элементов управления из другой формы
У меня есть приложение, с которым мне нужно немного помочь. Он использует элементы управления DevExpress (C#, vs2012), и у меня возникли трудности с получением пользовательского элемента управления для переопределения событий из основной формы. MainForm
наследует от DevExpress RibbonForm
и выложен в обычном стиле Outlook, с лентой вверху, NavBar слева и областью контента справа. Как вы можете видеть из моей диаграммы, в настоящее время у меня есть MainForm
а затем несколько пользовательских элементов управления, которые я загружаю в Panel
контролировать, когда нажимается определенная кнопка навигационной панели. Поэтому, когда пользователь нажимает "Клиенты", Customer
usercontrol загружается в области содержимого. То, что я пытаюсь сделать сейчас, в каждом UserControl, переопределить события ленты из MainForm
так что я могу иметь логику в каждом UserControl. Например, в Клиенты, Save
событие ленты будет делать что-то другое, чем Orders
Save
событие.
Если у меня есть UserControls наследовать от MainForm
тогда у каждого из них будут ленты и элементы навигации, которые я не хочу. Есть ли способ получить UserControls переопределить события ленты из MainForm
форме?
Любая помощь / руководство приветствуется!
1 ответ
Есть ли способ заставить UserControls переопределить события ленты из формы MainForm?
Да. Это способ слияния лент.
Просто добавьте RibbonControl в каждый пользовательский элемент управления. Добавить и настроить все необходимые команды в каждом конкретном случае. Затем используйте методы RibbonControl.MergeRibbon/ RibbonControl.UnmergeRibbon при переключении между этими пользовательскими элементами управления - дочерняя лента будет объединена / распакована в / сформировать родительскую ленту.