none
Como abrir um formulário dentro de uma tela através de um botão?

    Question

  • Bom Galera, sou novo em C# e Estou fazendo um trabalho na faculdade e acontece o seguinte...

    A tela principal tem um botão para cada tipo de pessoa (aluno, professor, etc). Quando clicado um botão abre uma janela perguntando o que  quer fazer( cadastrar,Pesquisar,Atualizar,etc). Porém não quero que quando clicar em um destes botões não se abra outra janela e sim que o formulario de pesquisa abra dentro desta tela em um espaço reservado para eles. E assim se clicar em cadastrar aparece o formulario de cadastro depois se clicar em pesquisar aparece o formulário de pesquisa no local onde antes havia aparecido o de cadastro. Sendo assim gostaria de alternar esses formulários.

    Já tentei usando MdiParent porém não achei viável pois abre-se uma outra jane-la dentro da form e fica atras de tudo que eu coloquei nesta tela.

    Se alguém souber como resolver este problemão agradeço desde já. 

    Monday, October 25, 2010 11:14 AM

Answers

  • vc pode continuar usado MDI, mas pode tirar a barra de título e tirar a borda da janela.

    desta forma o usuário não pode nem mover, nem redimensionar, as janelas.

    aí sempre que vc abrir uma nova janela, vc define a posição fixa na tela.

     

    não seria isso q vc quer?

     

    mas pense comigo.... vc não acha que isso seria complicar mais? vc já pensou em como fazer isso para várias resoluções de monitores diferentes? Seria este "estilo de aplicativo" viável? ou seja, vc já pensou no custo benefício disso? tlavez não valha a pena investir nesta funcionalidade.

     

    se bem q tem uma outra solução... mas não foge do problema q citei acima, mas vc pode fazer o seguinte... vc pode abrir sua janela dentro de um panel.

    segue exemplos:

    http://www.akadia.com/services/dotnet_inherited_forms.html

    http://bytes.com/topic/c-sharp/answers/267797-can-i-add-form-into-panel

    desta forma vc bota os seus panels em locais diferentes. e aí é só dar o show/hide/close normalmente.

     

    o detalhe é q são soluções mais fáceis de usar, pois pelo q pûde notar, vc já tem os forms prontos...

    só q nestas 2 soluções vc terá q pensar no problema das resoluções diferentes do monitor.

    Monday, October 25, 2010 11:25 AM

All replies

  • voce pode criar varios groupbox/panel e colocar todos na mesma posicao do form e com o mesmo tamanho( tipo painel 1 é formulario de pesquisa, painel 2 eh formulario de cadastro) e colocar dentro deles os componentes necessarios a cada um deles(tantas textboxes, datagridview etc).Aí no click de cada botao voce faz um jogo de visible dos paineis, ou seja, ao clicar no botao de cadastro, o visible de todos os outros paineis é false e o de cadastro é true, ao c licar em pesquisa, todos os outros ficam false e o de pesquisa fica true...

    ou seja, vai ser soh uma ilusão visual pois todos os componentes vao estar la mas o usuario soh vai ver e ter acesso ao que voce quiser..

    nao sei se essa eh a mehor solução mas eu faria assim em principio

    Monday, October 25, 2010 11:20 AM
  • vc pode continuar usado MDI, mas pode tirar a barra de título e tirar a borda da janela.

    desta forma o usuário não pode nem mover, nem redimensionar, as janelas.

    aí sempre que vc abrir uma nova janela, vc define a posição fixa na tela.

     

    não seria isso q vc quer?

     

    mas pense comigo.... vc não acha que isso seria complicar mais? vc já pensou em como fazer isso para várias resoluções de monitores diferentes? Seria este "estilo de aplicativo" viável? ou seja, vc já pensou no custo benefício disso? tlavez não valha a pena investir nesta funcionalidade.

     

    se bem q tem uma outra solução... mas não foge do problema q citei acima, mas vc pode fazer o seguinte... vc pode abrir sua janela dentro de um panel.

    segue exemplos:

    http://www.akadia.com/services/dotnet_inherited_forms.html

    http://bytes.com/topic/c-sharp/answers/267797-can-i-add-form-into-panel

    desta forma vc bota os seus panels em locais diferentes. e aí é só dar o show/hide/close normalmente.

     

    o detalhe é q são soluções mais fáceis de usar, pois pelo q pûde notar, vc já tem os forms prontos...

    só q nestas 2 soluções vc terá q pensar no problema das resoluções diferentes do monitor.

    Monday, October 25, 2010 11:25 AM