• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

cherlick

Como Tranferir a mxm informação entre formes

16 mensagens neste tópico

Boas ppl eu sou novo neste forum mas espero k m possam ajudar j k o meu prof em esplika nd ...

eu j dei Vb no ano passado e eu la para passar uma variabel de uma Form para a outra criava um modulo e punha la a variavel e dpx tinha asseso a mxm variavel nas duas forms ...

Gostava de saber como posso fazer isso em C#

e j agr s axam aconcelhavel eu fazer programas e jogos com mais k uma form  :)

Espero k m possom ajudar

ABC fkem fx :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Imaginando que tens duas Forms (Form1 e Form2) e queres passar o valor da variavel "nomePessoa" que se encontra na Form1 para a Form2, então fazes:

Em primeiro lugar declaras uma variavel publica na Form2 onde vais guardar o que "vier" da Form1, ou seja, na Form2 tens isto:

public string nome;

e na Form1 tens isto: 

string nomePessoa;
Form2 frm2 = new Form2();
frm2.nome = nomePessoa;

e j agr s axam aconcelhavel eu fazer programas e jogos com mais k uma form  :thumbsup:

Depende do jogo e do que queiras fazer, eu para fazer o jogo do galo usei apenas duas forms ...

Cumps :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado ..era mesmo isso que eu queria

estou a ver que aprendo muito mais aqui que nas aulas lool :(

Fiquem bem e thanks

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Imaginando que tens duas Forms (Form1 e Form2) e queres passar o valor da variavel "nomePessoa" que se encontra na Form1 para a Form2, então fazes:

Em primeiro lugar declaras uma variavel publica na Form2 onde vais guardar o que "vier" da Form1, ou seja, na Form2 tens isto:

public string nome;

e na Form1 tens isto: 

string nomePessoa;
Form2 frm2 = new Form2();
frm2.nome = nomePessoa;

Depende do jogo e do que queiras fazer, eu para fazer o jogo do galo usei apenas duas forms ...

Cumps :(

nao seria mais prudente ja deixar os objectos com as suas propriedades privadas ou protegidas e deixar os metodos serem publicos ou seja nao seria melhor fazer essa atribuicao atraves de um metodo public em vez de uma variavel public dentro da form2 ?

do estilo frm2.setName(nomePessoa); em vez da atribuicao frm2.nome=nomePessoa;

digam de vossa justica ..

boas programacoes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nao seria mais prudente ja deixar os objectos com as suas propriedades privadas ou protegidas e deixar os metodos serem publicos ou seja nao seria melhor fazer essa atribuicao atraves de um metodo public em vez de uma variavel public dentro da form2 ?

do estilo frm2.setName(nomePessoa); em vez da atribuicao frm2.nome=nomePessoa;

digam de vossa justica ..

boas programacoes

Hmm isso ate que e bem pensado ..mas não sei como fazer..sera que podes deixar ai um exemplo ou assim?

Fique Bem ABC

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

utilizando o exemplo anterior seria ...

na form 2 terias

private string nome;

public setNome(string name){
     nome=name;
}

e na form 1 terias

private string nome;
private Form2 form2;

form2=new Form2();
form2.setNome(nome);

o codigo que coloquei aqui e meramente exemplificativo nem deve compilar bem nem nada mas ... e so para teres uma ideia ...

boas programacoes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Da maneira que o falk0n mostra funciona, mas com algumas alterações.

Form1

 
string nomePessoa;
Form2 frm2 = new Form2();
frm2.setNome(nomePessoa);

Form2

string nome;

public void setNome(string name)
        {
         nome=name;
        }

nao seria mais prudente ja deixar os objectos com as suas propriedades privadas ou protegidas e deixar os metodos serem publicos ou seja nao seria melhor fazer essa atribuicao atraves de um metodo public em vez de uma variavel public dentro da form2 ?

do estilo frm2.setName(nomePessoa); em vez da atribuicao frm2.nome=nomePessoa;

digam de vossa justica ..

boas programacoes

Para mim vai dár ao mesmo, mas quando dizes "mais prudente" queres dizer o quê exactamente ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lol nao sou alergico n ... mas tal como disse era so meramente explicativo :(

qdo disse prudente estaria a falar em que habitualmente queremos "esconder" das outras classes o que a classe tem e so mostrar para o exterior o que nos queremos que seja utilizado ;)

boas programacoes :P

the dark como tou mais habituado a java qdo se mexe em C# as vezes nem nos lembramos disso, mas nao te esquecas que properties aumentam o numero de instrucoes que tem de ser realizadas pelo processador, as properties neste caso seria uma boa solucao pois permitia fazer o set e caso se quisesse o get.

ps: era um dos conceitos de encapsulacao dos dados :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

properties aumentam o numero de instrucoes que tem de ser realizadas pelo processador

Devo ter faltado a essa aula ::(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu nao dei c# em lado nenhum foi mais pelo que eu tive a ler num dos livros, e que dizia que properties e bom sim, mas nao abusar para nao criar overhead.

boas programacoes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ali no meu livro diz que o código gerado pelo uso de propriedades e de métodos set/get é exactamente o mesmo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

se diz ok tudo bem.

melhor :(

tudo o seja para ter vantagens e que o custo seja o mesmo ;) melhor

boas programacoes

ps. ja agora so por curiosidade qual foi o livro em que viste isso ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok. obrigado

que tal achaste o livro ?

eu tou a perguntar para expandir os meus horizontes em C#.

boas programacoes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não tenho o livro mesmo. Tenho uma tradução integral em acetatos feitos por um docente do ISEL. Nem o li de ponta a ponta... quando precisava de algo ia la ver.

Serve mais para entender a plataforma .NET do que aprender C#.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora