Как получить доступ к комбинированному окну внутри другой интерфейсной панели в C #? - PullRequest
0 голосов
/ 20 июня 2011

У меня есть родительская форма, которая содержит панели, которые вызывают различные пользовательские элементы управления. Например, файл выглядит примерно так:

Form1.cs -> Содержит главную панель

selectioninterface.cs -> Содержит комбинированный список, который динамически меняет панель (interface1 или interface2)

interface1.cs interface2.cs -> Содержит отдельную панель, которая вызывает form1.cs внутри своей панели.

Я сейчас перебираю панель form1, используя это.

    foreach(Control control in panel.Controls) {
        if(control.GetType() == typeof(selectioninterface))
        {

        }
}

Я получил эту часть, но мне нужно получить доступ к информации о текстовом поле и поле со списком, расположенных внутри панелей interface1 и interface2. Как я могу получить к ним доступ?

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

вы можете использовать

this.Controls.Find("YourControlName", true);

это вернет коллекцию элементов управления, если указанный элемент управления существует

1 голос
/ 20 июня 2011

Я предлагаю определить событие в интерфейсе и обработать событие в родительской форме. В случае передачи передать значение в качестве аргумента.

public delegate void MyEventHandler(object value);

event MyEventHandler MyEvent;

и вызвать событие при изменении контрольного значения.

...