Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

aishihara

Parent Form e User Controls

Recommended Posts

Bom dia,

 

Tenho a seguinte dúvida: Estou usando um winform e User Controls em C#. Gostaria de chamar uma função da tela principal depois que executo uma ação no User Control(ex. Clique de botão).

Uma pessoa me deu a seguinte solução: Criar uma função que procure a tela principal.

public TelaPrincipal ObterTelaPrincipal(control Ctl)
	{
		if (Ctl.Parent == null) {throw new Exception("Não encontrou nada.");};
		if (Ctl.Parent is TelaPrincipal) {return (Ctl.Parent as TelaPrincipal);};
		return ObterTelaPrincipal(Ctl.Parent);
	};

Depois fazer isso

ObterTelaPrincipal(this).Função();

Mas tem um problema: Ao compilar ocorre o seguinte erro: "Tela Principal" is a 'type', which is not valid in the given context.

Ele ocorre neste trecho: if (Ctl.Parent is TelaPrincipal). No caso uso o nome da tela principal. Mas não consegue executar por causa do erro.

Alguem tem alguma ideia.

 

Desde já agradeço a atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma outra solução foi a seguinte: (Parent as "Tela Principal")."Função"(); . Mas não sei porque esta não funcionou já que ele aparece a seguinte mensagem:

Object reference not set to an instance of an object. Os controls pertencem a um panel que faz parte da tela principal.

 

Agradeço a ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Windows Applications

O erro é por que esta tentando usar algum objeto ou variável sem antes instanciar.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.