es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Establezca el valor de FormElement.TitleBar.BackColor de los formularios padre desde el formulario hijo.

Tengo un formulario FrmMain que tiene un formulario hijo que se muestra dentro de un PageView, FrmChild. Estoy tratando de establecer el FrmMain: this.FormElement.TitleBar.BackColor desde FrmChild.

FrmChild

private void SetWarning() {
FrmMain.SetTitleBarColor(true);
}

FrmMain

public void SetTitleBarColor(bool warning) {
if (warning) {
this.FormElement.TitleBar.BackColor = Color.Red;
}
}

Intenté establecer FrmMain.SetTitleBarColor como estático, pero luego no pude acceder a la instancia del formulario.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para acceder a la instancia de FrmMain desde FrmChild, puedes pasar la instancia de FrmMain a FrmChild al crearlo.

    Por ejemplo:

    FrmMain

    public void OpenFrmChild()
    {
        FrmChild frmChild = new FrmChild(this);
        // codigo para mostrar FrmChild en la PageView
    }
    

    FrmChild

    private FrmMain frmMain;
    
    public FrmChild(FrmMain frmMain)
    {
        InitializeComponent();
        this.frmMain = frmMain;
    }
    
    private void SetWarning()
    {
        frmMain.SetTitleBarColor(true);
    }
    

    Al pasar la instancia de FrmMain al constructor de FrmChild, ahora puedes acceder al método SetTitleBarColor de FrmMain desde FrmChild sin tener que hacerlo estático.

Comments are closed.