Здравствуйте, thistle, Вы писали:
T>Доброго времени суток! T>Можно ли в C# как-нибудь достучаться до пользовательского свойства формы при обращении к ней через конструкцию
T>
T>this.ParentForm.MDIParent //дальше надо каким-либо образом указать свойство
T>
Тут уже похожее обсуждается. Тема называется "окончание флейма" что ли %) Делать так плохо и не надо (в общем случае). Но если очень хочется:
Здравствуйте, thistle, Вы писали:
T>Доброго времени суток! T>Можно ли в C# как-нибудь достучаться до пользовательского свойства формы при обращении к ней через конструкцию
T>
T>this.ParentForm.MDIParent //дальше надо каким-либо образом указать свойство
T>
(this.ParentForm.MDIParent as класс_вашей_формы).необходимое_проперти
Здравствуйте, Aykis, Вы писали:
A>Здравствуйте, thistle, Вы писали:
T>>Доброго времени суток! T>>Можно ли в C# как-нибудь достучаться до пользовательского свойства формы при обращении к ней через конструкцию
T>>
T>>this.ParentForm.MDIParent //дальше надо каким-либо образом указать свойство
T>>
A>(this.ParentForm.MDIParent as класс_вашей_формы).необходимое_проперти
Зачем as, если дальнейшей проверки нет? Код (имхо) выглядит хуже, да и медленнее будет %)
Здравствуйте, Aen Sidhe, Вы писали:
AS>Здравствуйте, Aykis, Вы писали:
A>>Здравствуйте, thistle, Вы писали:
T>>>Доброго времени суток! T>>>Можно ли в C# как-нибудь достучаться до пользовательского свойства формы при обращении к ней через конструкцию
T>>>
T>>>this.ParentForm.MDIParent //дальше надо каким-либо образом указать свойство
T>>>
A>>(this.ParentForm.MDIParent as класс_вашей_формы).необходимое_проперти
AS>Зачем as, если дальнейшей проверки нет? Код (имхо) выглядит хуже, да и медленнее будет %)
это такой гламурный каст)))
MyFrom myForm = this.ParentForm.MDIParent as MyForm;
if (myForm != null)
MessageBox.Show(myForm.SuperProperty);
В идеале, можно делать так
IMyFrom myForm = this.ParentForm.MDIParent as IMyForm;
if (myForm != null)
MessageBox.Show(myForm.SuperProperty);
то есть через интерфейс, позволяющий стучаться к особым пропертям формы, но с этим всегда лень заморачиваться)))
Здравствуйте, Pavel M., Вы писали:
PM>Здравствуйте, Aen Sidhe, Вы писали:
AS>>Здравствуйте, Aykis, Вы писали:
A>>>Здравствуйте, thistle, Вы писали:
T>>>>Доброго времени суток! T>>>>Можно ли в C# как-нибудь достучаться до пользовательского свойства формы при обращении к ней через конструкцию
T>>>>
T>>>>this.ParentForm.MDIParent //дальше надо каким-либо образом указать свойство
T>>>>
A>>>(this.ParentForm.MDIParent as класс_вашей_формы).необходимое_проперти
AS>>Зачем as, если дальнейшей проверки нет? Код (имхо) выглядит хуже, да и медленнее будет %)
PM>это такой гламурный каст)))
Я как бы в курсе. В коде автора проверки не было. На что я и указал.
PM>В идеале, можно делать так
В идеале — провайдер или синглтон с настройками, если объект гарантированно одиин, чтобы не заморачиваться с поисками этой самой IForm. Спросите Sinclair, он расскажет
PM>>В идеале, можно делать так
AS>В идеале — провайдер или синглтон с настройками, если объект гарантированно одиин, чтобы не заморачиваться с поисками этой самой IForm. Спросите Sinclair, он расскажет
Это от контекста задачи зависит и про эти вещи мне известно, использую их, само сосбой.
Но тут идет не про управление объектами, а про доступ к свойству, о чем я и написал.
Здравствуйте, Pavel M., Вы писали: PM>Это от контекста задачи зависит и про эти вещи мне известно, использую их, само сосбой. PM>Но тут идет не про управление объектами, а про доступ к свойству, о чем я и написал.
Намек был про то, что сама формулировка задачи "получить доступ к свойству парент формы" — неправильная. Не бывает такой задачи в рамках гармоничного дизайна.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.