2010-04-01 2 views
-3

Скажем, у меня есть две формы WPF: Form1 и Form2. Form1 содержит кнопку, которая должна показывать сообщение «True», если был вызван конструктор второй формы. Как я могу это реализовать?Как проверить, что конструктор другой формы был вызван в WPF?

+0

Просто поместите MessageBox.Show в конструкторе формы тогда? Или вы действительно хотите спросить, что такое конструктор? –

+4

Можете ли вы рассказать о своем вопросе? Если вы хотите получить ответ, который поможет вам получить более подробную информацию. –

+1

Вы пытаетесь определить, были ли созданы и показаны другие формы? –

ответ

1

Vague вопрос ... чтобы, если FormXs Чек конструктор получил колл, внутри другого класса:

иметь статический BOOL (IsConstructed) в классе FormX, который устанавливается истина в конструкторе, а затем проверить через FormX.IsConstructed.

В случае наличия доступа к ссылке формы вы можете просто сделать

if(null != ref_name){..} 

Если вы хотите получать уведомления, рассмотреть вопрос о повышении и события (если ссылка возможно) или команду.

Много это может зависеть от вашего приложения создана ...

0

При вызове конструктора в первый раз установите некоторую булевскую переменную в значение "true".

+0

Возможно, есть способ сделать это через отражение. Но я не думаю, что System.Reflection может это сделать. Я бы посмотрел на Mono.Cecil, гораздо более мощное отражение lib. – chriszero

4
MessageBox.Show("true"); 

Если вы видите форму, вы можете быть на 100% уверены, что она была построена.

+2

Затем поместите MessageBox.Show в конструктор другой формы. – Marek

Смежные вопросы