Cuando un usuario selecciona un botón, se agrega un control de usuario personalizado al formulario. Este control de usuario proporciona la capacidad de ingresar algunos valores.¿Agregar algo como ShowDialog a un control de usuario personalizado?
¿Cómo espero que se complete el control del usuario antes de cambiar el valor en mi formulario principal?
Estaba pensando en algo como esto:
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
El control de usuario no se puede añadir a su propia forma. En algunas formas, está 'incrustado' y en otras formas se crea dinámicamente según sea necesario.
Update2
Este SO link era útil.
Mi solución final se parece a (I oculto la usercontrol cuando 'completado'):
customControl ylc = new customControl();
ylc.Location = new Point(11, 381);
ylc.Parent = this;
ylc.BringToFront();
ylc.VisibleChanged += new EventHandler(ylc_VisibleChanged);
ylc.Show();
A continuación, este código va en el 'VisibleChanged' caso:
if(ylc.ShowDialog() == DialogResult.OK)
{
this.lblSomeText.Text = ylc.PublicPropertyValue
}
Tu código no ayudó pero tu redacción sí. Para mí, tuve que hacer: CustomControl customControl = new CustomControl(); Forma newForm = new Form(); newForm.Controls.Add (customControl); newForm.ShowDialog(); – anon58192932