Jump to content

Tratar de Controladores criados dinamicamente


Reverse
 Share

Recommended Posts

Boas tardes,

A minha dúvida vem um pouco no seguimento da minha ultima, no entanto aplica-se a outras situações por isso é que criei um novo tópico.

O meu problema é o seguinte, a meio de o programa chamo uma função que me cria dinamicamente um Panel e uma Label :

private void CriaLabel(){

Label label = new Label();

Panel panel= new Panel();

panel.Controls.Add(label);

this.Controls.Add(panel);

}

Depois tenho um EventHandler onde queria configurar essa label :

private void ButtonOnMouseEnter(object sender, EventArgs args)
{
label.Visible=true;
}

Lógicamente isto não é possível pois a variável não é conhecida neste contexto. Há alguma forma de a utilizar? Talvez haja uma forma de passar a referencia do controlador para a função, não sei  ?

Link to comment
Share on other sites

Já arranjei uma solução embora não saiba se é mais ortodoxa :

private void ButtonOnMouseLeave(object sender, EventArgs args)
        {
            Panel[] panel = this.Controls.Find("panel2", true) as Panel[];
            Label[] label = this.Controls.Find("label1", false) as Label[];
            label[0].Visible = true;
        }

Basicamente ele vai procurar-me os Controls criados pelo Nome, quando os encontro basta-me instanciá-los de acordo com o objecto que quero e já está. Não me posso é esquecer de dar nomes aos controladores que quero encontrar.  😄

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.