Usuário com melhor resposta
Qual a forma mais correta e prática para obter o valor de uma variável de outro Form???

Pergunta
-
Sou iniciante em C# e achei na net várias formas de se fazer.
A única que eu entendi foi usando uma classe para armazenar a variável mudar seu valor qdo necessário e usá-la no outro form!!!!Infelizmente nao consegui!!!
=[Ajudem ai!!! kkk!!!
Respostas
-
Cara, eu uso classe para variáveis globais, como por exemplo o usuário e o seu perfil:
public static class Usuario { private static string m_perfil = ""; public static string Perfil { get { return m_perfil; } set { m_perfil = value; } } private static string _login = ""; public static string Login { get { return _login; } set { _login = value; } }
Depois no form fica assim:private void btnLogin_Click(object sender, EventArgs e) { Acessos log = new Acessos(); if (log.LoginOk(txtUsuario.Text.Trim(), txtSenha.Text.Trim())) { Usuario.Perfil = log.Tipo; Usuario.Login = log.Nome; this.Dispose();
Agora de um form para outro, faço assim:e no outro form que vai receber as informações:private void btnEmailFuncionario_Click(object sender, EventArgs e) { frmEmail email = new frmEmail(); email.pOrigem = "Funcionario"; email.nome = txtNome.Text; email.dataHomo = dtpHomologacao.Value.ToString();
public partial class frmEmail : Form { #region ATRIBUTOS public string pOrigem = null; public string nome { get; set; } public string dataHomo { get; set; }
Não sei se é a melhor forma, mas pelo menos deve te ajudar a pensar.
Tecnólogo em Análise e Desenvolvimento de Sistemas :: http://letrasdemusicas.webng.com- Marcado como Resposta Levi DomingosModerator sexta-feira, 15 de julho de 2011 21:52
-
Murilo, não sei se é a forma mais correta, mais é a que eu uso pessoalmente.
Veja no artigo abaixo:
http://www.linhadecodigo.com.br/Artigo.aspx?id=1741
Veja também uma dúvida igual a sua, respondida tempos atrás:
http://social.msdn.microsoft.com/forums/pt-BR/vscsharppt/thread/8e9012e2-35df-46f1-a673-3d7be4df223a
Abraços.
Se a resposta for útil, favor votar como útil para que ajude outros usuários com a mesma dúvida | Dicas e artigos sobre .NET em http://programandodotnet.wordpress.com e http://www.devmedia.com.br/wellingtonbalbo | Siga-me no Twitter: @wellingtonbalbo- Sugerido como Resposta Leonardo Borges 'Xis' quarta-feira, 13 de julho de 2011 12:40
- Marcado como Resposta Levi DomingosModerator sexta-feira, 15 de julho de 2011 21:52
-
Veja este exemplo:
public class Passar_informacao
{
private string nome = string.Empty;
private int idade;
public Passar_informacao()
{
idade = -0;
}
public int Idade
{
get { return idade; }
set { idade = value; }
}
public string Nome
{
get { return nome; }
set { nome = value; }
}
Agora no form 1:namespace TurnPC{public partial class Form1 : Form{public Form2 frm;Passar_informacao passar;public Form1(){InitializeComponent();passar = new Passar_informacao();frm = new Form2();}private void button2_Click_1(object sender, EventArgs e){Form2 frm2 = new Form2();// Email_Form();frm2.valore.Nome = "tudo"; ou poderia ser textbox1.textfrm2.valore.Idade = 20;frm2.Show();}}form2 que vai receber a informacao:namespace TurnPC{public partial class Form2 : Form{public Passar_informacao valore;public Form2(){InitializeComponent();valore = new Passar_informacao();}private void Form2_Load(object sender, EventArgs e){textBox1.Text = valore.Nome;textBox2.Text = valore.Idade.ToString();}
One word frees us of all the weight and pain of life: that word is love.- Marcado como Resposta Levi DomingosModerator sexta-feira, 15 de julho de 2011 21:52
Todas as Respostas
-
Murilo, não sei se é a forma mais correta, mais é a que eu uso pessoalmente.
Veja no artigo abaixo:
http://www.linhadecodigo.com.br/Artigo.aspx?id=1741
Veja também uma dúvida igual a sua, respondida tempos atrás:
http://social.msdn.microsoft.com/forums/pt-BR/vscsharppt/thread/8e9012e2-35df-46f1-a673-3d7be4df223a
Abraços.
Se a resposta for útil, favor votar como útil para que ajude outros usuários com a mesma dúvida | Dicas e artigos sobre .NET em http://programandodotnet.wordpress.com e http://www.devmedia.com.br/wellingtonbalbo | Siga-me no Twitter: @wellingtonbalbo- Sugerido como Resposta Leonardo Borges 'Xis' quarta-feira, 13 de julho de 2011 12:40
- Marcado como Resposta Levi DomingosModerator sexta-feira, 15 de julho de 2011 21:52
-
-
Polimorfismo.
Boa Wellington, gosto muito desse conceito... é muito poderoso
Murilo, a dica do Wellington é muito boa =DEu nunca trabalhei com forms em C#, mais em Java eu criava uma classe com propriedades e passava de uma tela (form) para outro em forma de objeto.
grande abraço,
Leonardo B. Moreira
http://leonardobatistamoreira.blogspot.com
Leonardo B. Moreira - Web Developer .net with asp.net and C# - I know, it is only programming but I like it. http://leonardobatistamoreira.blogspot.com -
Sou iniciante em C# e achei na net várias formas de se fazer.
A única que eu entendi foi usando uma classe para armazenar a variável mudar seu valor qdo necessário e usá-la no outro form!!!!Infelizmente nao consegui!!!
=[Ajudem ai!!! kkk!!!
usa class, seria a forma correcta de passar informacao de um form ao outro.
a class tem de ser publica, voce evita delcar os form1 e form2 como muita gente faz.
One word frees us of all the weight and pain of life: that word is love. -
Veja este exemplo:
public class Passar_informacao
{
private string nome = string.Empty;
private int idade;
public Passar_informacao()
{
idade = -0;
}
public int Idade
{
get { return idade; }
set { idade = value; }
}
public string Nome
{
get { return nome; }
set { nome = value; }
}
Agora no form 1:namespace TurnPC{public partial class Form1 : Form{public Form2 frm;Passar_informacao passar;public Form1(){InitializeComponent();passar = new Passar_informacao();frm = new Form2();}private void button2_Click_1(object sender, EventArgs e){Form2 frm2 = new Form2();// Email_Form();frm2.valore.Nome = "tudo"; ou poderia ser textbox1.textfrm2.valore.Idade = 20;frm2.Show();}}form2 que vai receber a informacao:namespace TurnPC{public partial class Form2 : Form{public Passar_informacao valore;public Form2(){InitializeComponent();valore = new Passar_informacao();}private void Form2_Load(object sender, EventArgs e){textBox1.Text = valore.Nome;textBox2.Text = valore.Idade.ToString();}
One word frees us of all the weight and pain of life: that word is love.- Marcado como Resposta Levi DomingosModerator sexta-feira, 15 de julho de 2011 21:52
-
Cara, eu uso classe para variáveis globais, como por exemplo o usuário e o seu perfil:
public static class Usuario { private static string m_perfil = ""; public static string Perfil { get { return m_perfil; } set { m_perfil = value; } } private static string _login = ""; public static string Login { get { return _login; } set { _login = value; } }
Depois no form fica assim:private void btnLogin_Click(object sender, EventArgs e) { Acessos log = new Acessos(); if (log.LoginOk(txtUsuario.Text.Trim(), txtSenha.Text.Trim())) { Usuario.Perfil = log.Tipo; Usuario.Login = log.Nome; this.Dispose();
Agora de um form para outro, faço assim:e no outro form que vai receber as informações:private void btnEmailFuncionario_Click(object sender, EventArgs e) { frmEmail email = new frmEmail(); email.pOrigem = "Funcionario"; email.nome = txtNome.Text; email.dataHomo = dtpHomologacao.Value.ToString();
public partial class frmEmail : Form { #region ATRIBUTOS public string pOrigem = null; public string nome { get; set; } public string dataHomo { get; set; }
Não sei se é a melhor forma, mas pelo menos deve te ajudar a pensar.
Tecnólogo em Análise e Desenvolvimento de Sistemas :: http://letrasdemusicas.webng.com- Marcado como Resposta Levi DomingosModerator sexta-feira, 15 de julho de 2011 21:52