У меня есть встроенные элементы управления пользователя в этом проекте. Я застрял и, пытаясь получить доступ к состоянию кнопки в родительском элементе, мое возвращаемое значение не то, что я ожидаю.Ссылка на UserControl из другого UserControl
var parentControl = (OrderDetail)this.Parent.Parent;
// set return based on the OrderDetail control button state
UltraButton btn = parentControl.Controls.Find("btnReturn", true).FirstOrDefault() as UltraButton;
Это всегда возвращает btn.Enabled = истина обратно ко мне, несмотря на то, когда форма загрузится кнопку Я здесь ссылки не включен. Есть ли жизненный цикл, о котором я просто не знаю?
Вступление в winforms для меня редко, поэтому я уверен, что я что-то упустил, просто не знаю, что это такое.
Спасибо!
Недостаточно кода, который поможет вам. 'This.Parent.Parent' просит затруднения. UserControls не должен разговаривать с другими UserControls. Вероятно, было бы лучше просто установить ссылку на свойство в UserControls и иметь форму матери, которая связывает свойства вместе, если им действительно нужно поговорить друг с другом. – LarsTech
Я не уверен, что 'btn.Enabled' должен быть' false', если вы не отменили его вручную. – Alexander
Оказывается, что загрузка даже элементарного пользовательского элемента управления срабатывает до того, как кнопка установлена, только одна из вещей, которую вы узнаете о winforms. Я смог получить то, что я хотел, проверив состояние в событии OnVisibleChange элемента управления дочернего пользователя. Спасибо за помощь. – DogEars