Когда пользователь выбирает кнопку, пользовательский элемент управления добавляется в форму.Этот пользовательский элемент управления предоставляет возможность ввода некоторых значений.
Как мне дождаться завершения пользовательского элемента управления, прежде чем изменять значение в моей основной форме?
Я думал о чем-то вроде этого:
customControl ylc = new customControl();
ylc.Location = new Point(11, 381);
ylc.Parent = this;
ylc.BringToFront();
if(ylc.ShowDialog() == DialogResult.OK)
{
this.lblSomeText.Text = ylc.PublicPropertyValue
}
UPDATE1
Пользовательский элемент управления не может быть добавлен в его собственную форму.В некоторых формах он «встроен», а в других он создается динамически по мере необходимости.
UPDATE2
Эта ссылка SO былаполезно.
Мое окончательное решение выглядит так (я скрываю пользовательский контроль, когда «завершено»):
customControl ylc = new customControl();
ylc.Location = new Point(11, 381);
ylc.Parent = this;
ylc.BringToFront();
ylc.VisibleChanged += new EventHandler(ylc_VisibleChanged);
ylc.Show();
Затем этот код переходит в событие «Visiblechanged»:
if(ylc.ShowDialog() == DialogResult.OK)
{
this.lblSomeText.Text = ylc.PublicPropertyValue
}