Usuário com melhor resposta
Recuperar variaveis de um outro form

Pergunta
-
Galera estou com um problema,
Estou fazendo um prgrama de login e perfil com banco de dados em mysql.
Na tela de login tudo está funcionado, eu estou criando uma variavel no tipo int chamada IdUsuarioLogado e quero recuperar ela em uma outra form, eu ja procurei sobrevariaveis globais mais não achei nada que pudesse me ajudar.
Obs:
Form do login = FormLogin
Form do perfil = FormPerfil
variavel tipo inteiro INT com o nome de IdUsuarioLogado
Respostas
-
vc pode colocar a variável no construtor e setar a sua variável private na aplicação, assim:
public Principal (string IdUsuario, NomeUsuario)
{
this.idUsuario = idUsuario;
this.NomeUsuario = NomeUsuario;}
instanciando a classe fica assim:
Principal variaval = new Principal(ID_DO_USUARIO, NOME_DO_USUARIO); // Principal(1, "Diego");
entendeu?
- Marcado como Resposta Guilherme Toneloto sábado, 8 de outubro de 2011 03:06
-
na prática o construtor java e c# são idênticos, exatamente como eu falei ali em cima, o que muda são os métodos get & set...
- Marcado como Resposta Guilherme Toneloto sábado, 8 de outubro de 2011 03:07
Todas as Respostas
-
Guilherme,
Podes criar um objecto User
Ex:
public class User { private static User instance = null; private long idUser; private string userName; #region gets and sets public long UserName { get { return idUser; } set { idUser = value; } } public long IdUser { get { return idUser; } set { idUser = value; } } public User() { this.idUser = 0; this.userName = string.empty; } /// <summary> /// instancia da classe /// </summary> public static User Instance { get { if (instance == null) { instance = new User(); } return instance; } set { instance = value; } } }
Ao fazer o login
User.Instancia.IdUser = o id do user
User.Instancia.UserName = o nome do user
No form seguinte
txtNomeUser.Text = User.Instancia.UserName
........
Como a intancia nao foi perdida entao pode-se utilizar ate destruir a intancia
para tal e so fazer User.Instancia= null.
Espero que ajude.....
- Editado Cipriano Fernandes quinta-feira, 6 de outubro de 2011 08:46
- Sugerido como Resposta AndreAlvesLimaModerator quinta-feira, 6 de outubro de 2011 17:57
-
Guilherme,
Sugiro que você dê uma olhada neste artigo que mostra diversas maneiras de se passar informações de um Form para outro:
http://www.codeproject.com/KB/cs/pass_data_between_forms.aspx
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Sugerido como Resposta AndreAlvesLimaModerator quinta-feira, 6 de outubro de 2011 17:57
-
Cara tem várias formas de fazer isso...
O Cipriano citou uma bem lega e o material do André vai te ajudar bastante também.
Mas a forma mais simples de todas é assim:No teu FormPerfil crie uma variável (ou um método) public com o nome IdUsuarioLogado e no FormLogin depois do login vc faz isso:
FormPerfil variavel = new FormPerfil();
variavel.IdUsuarioLogado = ID_DO_USUARIO;
variavel.ShowDialog(); // ou variavel.Show() tanto faz...Isso ai é o método mais simples que eu conheço, começa com esse e quando vc se aperfeiçoar na linguagem tenta coisas novas...
Qualquer dúvida posta ai... vlw
- Sugerido como Resposta AndreAlvesLimaModerator quinta-feira, 6 de outubro de 2011 17:57
-
Cara tem várias formas de fazer isso...
O Cipriano citou uma bem lega e o material do André vai te ajudar bastante também.
Mas a forma mais simples de todas é assim:No teu FormPerfil crie uma variável (ou um método) public com o nome IdUsuarioLogado e no FormLogin depois do login vc faz isso:
FormPerfil variavel = new FormPerfil();
variavel.IdUsuarioLogado = ID_DO_USUARIO;
variavel.ShowDialog(); // ou variavel.Show() tanto faz...Isso ai é o método mais simples que eu conheço, começa com esse e quando vc se aperfeiçoar na linguagem tenta coisas novas...
Qualquer dúvida posta ai... vlw
Cara, se puder me ajudar, Colocar a variavel com o metodo public, como se faz isso ?
rsrs, estou bem no começo do C# e não tenho paciencia de esperar a professora do meu curso tecnico explicar...
-
blza...
Isso é o básico do C# hehe faz assim:
private int variavel;
public int Variavel // primeira letra maiúscula - o importante é diferenciar os dois nomes{
get { return variavel; } // aki com letra minuscula
set { variavel = value; } // aki tbm
}
isso é o famoso método get e set no C#.
Dependendo da tua versão do visual studio tu clica com o botão direito no nome da variavel private e vai em:
Refactor -> Encapsule field (ou pelo comando CTRL + R solta e depois aperta E) que ele cria o get & set pra ti. -
Eu consegui fazer funcionar
na janela do login
Principal frmPrincipal = new Principal(IdUsuario);
frmPrincipal.Show();
na janela do perfil
public Principal(string IdUsuario)
{
InitializeComponent();
}mais eu gostaria de saber, tem como colocar mais variaveis publicas dentro de um construtor, ou eu tenho que criar varios deles para cada variavel.
ex
public Principal (string IdUsuario, NomeUsuario)
{
...
}
-
vc pode colocar a variável no construtor e setar a sua variável private na aplicação, assim:
public Principal (string IdUsuario, NomeUsuario)
{
this.idUsuario = idUsuario;
this.NomeUsuario = NomeUsuario;}
instanciando a classe fica assim:
Principal variaval = new Principal(ID_DO_USUARIO, NOME_DO_USUARIO); // Principal(1, "Diego");
entendeu?
- Marcado como Resposta Guilherme Toneloto sábado, 8 de outubro de 2011 03:06
-
-
Guilherme,
Sensacional que você conseguiu solucionar essa sua questão!
Agora, para fecharmos a thread, você poderia marcar como resposta os posts que te ajudaram a resolver o problema?
Obrigado pelo apoio...
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima -
na prática o construtor java e c# são idênticos, exatamente como eu falei ali em cima, o que muda são os métodos get & set...
- Marcado como Resposta Guilherme Toneloto sábado, 8 de outubro de 2011 03:07