aishihara 0 Denunciar post Postado Abril 15, 2008 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
quitZAUMMM 18 Denunciar post Postado Abril 15, 2008 Movido: C/C++ http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET Compartilhar este post Link para o post Compartilhar em outros sites
aishihara 0 Denunciar post Postado Abril 15, 2008 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
quintelab 91 Denunciar post Postado Abril 15, 2008 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