Loop devexpress управляет WinForms - PullRequest
       1

Loop devexpress управляет WinForms

0 голосов
/ 03 сентября 2018

Я хочу просмотреть все элементы управления в форме Windows и получить их имена.

Я сделал это легко с помощью рекурсии, но поскольку форма включает элементы управления DevExpress, возникает проблема.

Примером является элемент управления типа RibbonControl (элемент управления DevExpress) - проблема в том, что этот элемент управления НЕ имеет дочерних элементов. Я проверил RibbonControl и обнаружил, что у него есть свойство «Items», которое включает дочерние элементы для этого элемента управления DevExpress.

Итак, мой вопрос, есть ли способ перебрать дочерние элементы управления DevExpress, как этот? Я пытался с Control.Items, но это не работает, если элемент управления не приведен к RibbonControl, и это не очень хороший подход, так как есть больше типов (которые я до сих пор не знаю), которые имеют «элементы» вместо "дети".

foreach (Control control in c.Controls)
{
    if (control.GetType() == typeof(RibbonControl))
    {
        var ribbonCnt = (RibbonControl) control;
        foreach (var cnt in ribbonCnt.Items)
        {
        }
    }
}

Это способ, которым я в настоящее время получаю дочерние элементы (элементы) RibbonControl, но так как этот элемент управления может отличаться - это не кажется хорошим подходом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...