Как найти, что форма загружена или UserControl c # - PullRequest
0 голосов
/ 26 октября 2010

Я использую приложение winform c #. В приложении мы используем множество пользовательских контролей и форм.

У меня есть родительская форма, где я использую UserControl в качестве MainDashBoard. Но для других бизнес-требований также используются формы. В userControl есть кнопка LoadProperties, которая загружает другую форму, отображающую некоторые свойства некоторого объекта.

Что я хочу знать, так это то, как я могу узнать, что в данный момент активным элементом управления является UserControl или Form. Потому что, когда я нажимаю кнопку и говорю

Form1 form = new Form1();
form.MDIParent= this;
form.show();

Это загрузка формы, но this.ActiveControl дает мне кнопку в качестве активного элемента управления, а не форму.

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

Кто-нибудь может мне помочь ... здесь.

С уважением Shax.

Ответы [ 3 ]

1 голос
/ 26 октября 2010

Каждая форма имеет ActiveControl, элемент управления, который получит фокус при активации формы. Чтобы получить активную форму, вы должны использовать статическое свойство Form.ActiveForm.

0 голосов
/ 26 октября 2010

Просто сохраните ссылку на все открытые формы.

0 голосов
/ 26 октября 2010

Извините, я не совсем понимаю.

Для того, чтобы узнать, какой ребенок МДИ активен, используйте:

Form activeChild = this.ActiveMdiChild;

Если вам нужно проверить, к какому типу объектов относится объект, вы можете использовать:

if([variable] is Form)
{
}

if([variable] is Button)
{
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...