Usuário com melhor resposta
Como carregar um form passando parâmentro

Pergunta
-
Olá,
Estou precisando carregar um form passando por parâmentro o nome dele.
Em minha aplicação tem um textbox onde o usuário informa o atalho para o form, exemplo 11, apartir daí uma rotina vai no banco e me retorna o name desse formulário.
De posse do name, como faço para abrir esse formulário ?
help me
Obrigado...
Respostas
-
Amigo acho que falei falei na mensagem anterior e somente agora entendi o que vc quer mesmo deixa eu ver se é isso mesmo vc tem uma tabela com codigo e nome do form vc quer chamar um form e passar para uma rotina o codigo do form que esta na tabela do Banco de Dados e a partir desse codigo vc quer um codigo que abra o form que vc informou o codigo certo ????
Bom se for isso testa dessa maneira eu não fiz nada acessando Banco de Dados é uma torina exemplo e bem simples que espero te ajudar
Fiz o seguinte para testar criei dosi forms Form1 e Form2
Dentro do Form1 crieie uma variavel publica ao form logo no inicio do construtor do codigo
public Form vNomeForm;
Em seguida coloquei um textbox e um botão e dentro do botão o seguinte codigo
if (textBox1.Text == "11")
{
vNomeForm = new Form2();
vNomeForm.ShowDialog();
}
else
{
MessageBox.Show("Form não existe", "",MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
textBox1.Text = ""; textBox1.Focus();
}
Dessa maneira funcionou chamou o form2 certinho agora vc terá que acertar no seu codigo para qdo retornar o nome do form vc terá que deixalo escrito na tabela da mesma form que seu nome no codigo do sistema ou seja o mesmo nome que ele está no projeto pois é case sensitive no caso essa linha vNomeForm = new Form2(); vc terá que colocar uma varivel de retornopara que exista o mesmo nome da mesma forma que o arquivo esta nomeado
Nossa espero não ter viajado e piorado ainda mais ... mas estou na correria aqui e procurei lhe ajudar da melhor maneira possivel assim como muitos ja me ajudaram aqui também
Qualquer coisa posta ai novamente
Um abraço
Todas as Respostas
-
-
No formulário você deve mudar o construtor dele, para obrigar a passagem do parâmetro, utilize o código abaixo:
{
public Form1(string strNome){
InitializeComponent();
this.Text = strNome;}
}
Espero ter ajudado.
[]´z
-
-
Há uma resposta de outro amigo logo acima da minha nem essa deu certo ??
Agora vc pode fazer alguma coisa para contornar isso ... tipo assim
Crie um metodo em uma classe que receba como parametro o codigo_do_form por exemplo e dentro desse metodo vc faz busca no Banco de Dados e retorna o nome do form executando isso no LOAD do fomrm destino
Por exemplo
String nomeForm(Int pCodigo)
{
< ... codigo de busca ... >
return vNome;
}
Vc pode criar uma variavel publica ao projeto todo e nela passar o codigo fo form que será carregado e dai passa essa variavel para o metodo que carrega o nome do Form que será carregado ...
Bom isso que lhe escrevi seria uma forma de ajudar a contornar o "problema" entende ... espero ter ajudado em algo
Valeuuuu flwwwwwwwwwwwwwwww -
Amigo acho que falei falei na mensagem anterior e somente agora entendi o que vc quer mesmo deixa eu ver se é isso mesmo vc tem uma tabela com codigo e nome do form vc quer chamar um form e passar para uma rotina o codigo do form que esta na tabela do Banco de Dados e a partir desse codigo vc quer um codigo que abra o form que vc informou o codigo certo ????
Bom se for isso testa dessa maneira eu não fiz nada acessando Banco de Dados é uma torina exemplo e bem simples que espero te ajudar
Fiz o seguinte para testar criei dosi forms Form1 e Form2
Dentro do Form1 crieie uma variavel publica ao form logo no inicio do construtor do codigo
public Form vNomeForm;
Em seguida coloquei um textbox e um botão e dentro do botão o seguinte codigo
if (textBox1.Text == "11")
{
vNomeForm = new Form2();
vNomeForm.ShowDialog();
}
else
{
MessageBox.Show("Form não existe", "",MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
textBox1.Text = ""; textBox1.Focus();
}
Dessa maneira funcionou chamou o form2 certinho agora vc terá que acertar no seu codigo para qdo retornar o nome do form vc terá que deixalo escrito na tabela da mesma form que seu nome no codigo do sistema ou seja o mesmo nome que ele está no projeto pois é case sensitive no caso essa linha vNomeForm = new Form2(); vc terá que colocar uma varivel de retornopara que exista o mesmo nome da mesma forma que o arquivo esta nomeado
Nossa espero não ter viajado e piorado ainda mais ... mas estou na correria aqui e procurei lhe ajudar da melhor maneira possivel assim como muitos ja me ajudaram aqui também
Qualquer coisa posta ai novamente
Um abraço -