Pasando el valor de ajuste de nuevo a la forma que había llamado el formulario
-
24-09-2019 - |
Pregunta
Esto es lo que tengo..
Dim frmSettings As New frmOptions
frmSettings.ShowDialog(Me)
FRMSETTINGS es un formulario de configuración que puede elegir el color para el fondo de Form1 (ME). Pero no puedo acceder a las propiedades de Form1 para cambiar la backcolor.
Solución
Sin embargo, podría proporcionar una devolución de llamada en el formulario actual que el formulario de configuración podría llamar cuando se cambia la propiedad que lo haría por usted. Perdón por la C#; Demasiado temprano en la AM para que yo escriba VB. Probablemente necesite tener una interfaz que define el conjunto de métodos utilizados para cambiar las propiedades y pasar el formulario como interfaz para que la persona que llame tenga acceso a los métodos.
public interface IChangeableProperties
{
void ChangeBackgroundColor( Color newColor );
...
}
public class MyForm : Form, IChangeableProperties
{
...
public void ChangeBackgroundColor( Color newColor )
{
...
}
}
Luego en tu formulario de configuración
private IChangeableProperties callingForm;
public void ShowDialog( IChangeableProperties caller )
{
callingForm = caller;
...
}
Y en tu manejador de eventos
callingForm.ChangeBackgroundColor( selectedColor );