Problemas com herança de formulário (C# VS 2008 SP)

03/05/2010

0

Boa Tarde

Crieu um formulário base para meu projeto e alterei as propriedades modifiers de seu componente para public, porém quando crio um formulário herdado do meu formulário base não consigo ter acesso aos componentes.

Alguém tem uma solução ??

Grato
Rafael Prado

Rafael Prado

Responder

Posts

04/05/2010

Tiago Melantonio

Rafael, eu fiz um teste aqui e funcionou normal, criei um form1 que herda do form, depois criei o form2 que herda do form1.

Adicionei um textbox no form1 e coloquei a propriedade Modifiers desse textbox como Public.


Agora é só acessar esse textbox do segundo formulário.

até +
Responder

04/05/2010

Rafael Prado

  Falha minha faltou o complemento da pergunta   Então até ai tudo bem, agora tenta incluir um gridview e um toolstrip.   E tenta acessa-los no form que herdou o formulario base.   Eu não estou conseguindo  e não tenho a menor idéia do que pode ser !!      
Responder

04/05/2010

Tiago Melantonio

Rafael, tbm consegui visualizar outros componentes.

Voce colocou assim: Form2 : Form1

Pois se voce deixar assim: Form2 : Form não vai funcionar.

o que vc pretende fazer ?
Responder

04/05/2010

Rafael Prado

Veja na figura abaixo:   Este formulario herda o formulario base, repare que no componente toolStrip a propriedade Modifiers esta public, sendo assim no formulario filho teoricamente eu poderia ter acesso ao componente não é isso ??? porém veja quem todas as propriedade do componente estão desabilitadas e tem o cadiadinho no canto superior esquerdo do componente.     public partial class Form1 : FrmBaseVisao { public Form1() ... }  
Responder

04/05/2010

Tiago Melantonio

Pelo que eu percebi, não da para alterar as propriedades pelo Design, mas se vc for pelo cs vc consegue.

Tenta fazer isso.
Responder

04/05/2010

Rafael Prado

No caso não seria nem questão de alterar a propriedade do toolstrip e sim eu quero implementa o evento click dos botões do toolstrip.   mas não consigo acessar o botão.    
Responder

04/05/2010

Tiago Melantonio

Entendi,

tenta ver o que vc precisa e pensa em outra forma.
Responder

04/05/2010

Rafael Prado

A idéia é a seguinte: Quero criar um formulario base com um grid e um toolstrip neste tenho um propriedade chamada tabela que da um select e retorna no grid, esse formulario base esta pronto, porém agora pra fazer a menutenção do registro ou incluir um novo, no caso o botão novo tenho que abrir um formulario associado a tabela .. exemplo Form3 no caso.   entao no botao novo eu teria   Form3 f = new Form3(); f.ShowDialog(); Porém Form3 tem q ser dinâmico .. pois posso fazer a chamada para o Form3 ou Form4 dependendo da tabela. eu pensei em criar um propriedade do tipo Form assim eu passaria o nome do formulario de manutencao e faço a chamada dele no evento do botao novo e editar exemplo: public Form _form { get; set; } public void AbreForm() { _form f = new _form(); f.ShowDialog(); } Mas não aceita .. Não sei se tem uma outra forma de resolver isso, porque esse esquema da herança do componente me pegou de calça curta !!    
Responder

04/05/2010

Tiago Melantonio

Acho que entendi o que voce quer.

Voce tem um form que tem um Grid, e nesse form um propdriedade que guarda qual tabela vai utilizar.

Atraves de um botão vc quer chamar o form que faz alguma coisa para a tabela que estava na propriedade do Form anteriror.

è isso?

Se for isso, não vejo a necessidade de herdar Formulários, acho que da para vc tratar isso no form que tem a Grid. Como vc tem um form para casa ação, vc trava no Formulário pai e chama o Form3, Form5 dependendo da situação.

Cria outra propriedade e armazena o nome do form que for utilizar, aí vc usar assim:

Form frm = Activator.CreateInstance(Type.GetType("WindowsFormsApplication1" + this.formName)) as Form;


Depois só usar o frm.


Ve se ajudou.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar