当用户选择按钮时,自定义用户控件将添加到表单中。此用户控件提供输入某些值的功能。
在更改主窗体上的值之前,如何等待用户控件完成?
我在想这样的事情:
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
}
更新1
无法将用户控件添加到其自己的窗体中。在某些窗体上它是“嵌入”的,在其他窗体上它是根据需要动态创建的。
更新2
这样
link
很有帮助。
我的最终解决方案如下(我在“完成”时隐藏用户控件):
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
}