powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / все контролы DevExpress.XtraLayout.LayoutControl
6 сообщений из 6, страница 1 из 1
все контролы DevExpress.XtraLayout.LayoutControl
    #39644773
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите пожалуйста,
как программно (в ToList например) можно получить все контролы, которые были накиданы в DevExpress.XtraLayout.LayoutControl?
(включая LayoutControlGroup,XtraTabControl ...)

Заранее благодарен.
...
Рейтинг: 0 / 0
все контролы DevExpress.XtraLayout.LayoutControl
    #39644833
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah,

нашел такой вариант

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
        public bool ABC(Control AOwner)
        {
            bool result = false;

            // бежим по всем компонентам формы
            for (int i = 0; i < AOwner.Controls.Count; i++)
            {
                string aName;
                aName = AOwner.Controls[i].Name; // имя компонента

                if (!(aName == ""))
                {
                    MessageBox.Show("Компонент найден " + aName);
                    result = true;
                    //break;
                }

                if (AOwner.Controls[i].Controls.Count > 0)
                {
                    ABC(AOwner.Controls[i]); //рекурсия										
                }
            }
            return result;
        }




все ли тут нормуль?
...
Рейтинг: 0 / 0
все контролы DevExpress.XtraLayout.LayoutControl
    #39644916
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahvah,

нашел такой вариант

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
        public bool ABC(Control AOwner)
        {
            bool result = false;

            // бежим по всем компонентам формы
            for (int i = 0; i < AOwner.Controls.Count; i++)
            {
                string aName;
                aName = AOwner.Controls[i].Name; // имя компонента

                if (!(aName == ""))
                {
                    MessageBox.Show("Компонент найден " + aName);
                    result = true;
                    //break;
                }

                if (AOwner.Controls[i].Controls.Count > 0)
                {
                    ABC(AOwner.Controls[i]); //рекурсия										
                }
            }
            return result;
        }


все ли тут нормуль?
работать будет, наверное :) вот вам вариант компактнее, написанный на коленке :)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
private static Control FindControl(Control control, string name)
{
    if (string.Equals(control.Name, name)) return control;
    foreach (Control child in control.Controls)
    {
        var result = FindControl(child, name);
        if (result != null) return result;
    }
    return null;
}
...
Рейтинг: 0 / 0
все контролы DevExpress.XtraLayout.LayoutControl
    #39645002
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

Спасибо!
Интересно, а в Linq это можно сделать?
...
Рейтинг: 0 / 0
все контролы DevExpress.XtraLayout.LayoutControl
    #39645103
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah,

можно сделать extension метод, который дерево, развернет в плоский список IEnumerable<T>, а потом стандартными средствами Linq найти нужный элемент.
...
Рейтинг: 0 / 0
все контролы DevExpress.XtraLayout.LayoutControl
    #39645138
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

там все уже сделано
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / все контролы DevExpress.XtraLayout.LayoutControl
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]