Usuário com melhor resposta
Como chamar uma variável em outro form

Pergunta
-
Bom pessoal, estou montando meu TCC do curso técnico e tenho uma duvida, não estou conseguindo chamar uma variável em outro form exemplo,
aqui segue o código dessa pagina, preciso pegar o valor que ficar na variável total
e imprimir em outro Form
public void btnCALC_Click(object sender, EventArgs e) { //Botão Calcular Double salbruto, ch, opcao, he, vl1, vl2, vl3, total; salbruto = Double.Parse(txtINFSAL.Text); ch = Double.Parse(txtINFCH.Text); opcao = Double.Parse(txtESCOCALC.Text); he = Double.Parse(txtINFQHE.Text); //Sequência de Calculos vl1 = (salbruto / 30) / ch; // Esses Calculos informará o valor da hora trabalhada. vl2 = (vl1 * opcao); // Esses Calculos informará o valor da porcentagem. vl3 = (vl2 + vl1); // Esses Calculos informará o valor da hora trabalhada mais a porcentagem inserida. total = (vl3 * he); // Esses Calculos informará o valor da hora extra em ($) a
segue agora a imagem onde eu preciso imprimir o valor do total.
preciso que o valor saia nesse txt que esta declarado como txtTotal.
desde já agradeço.
Respostas
-
Gosto muito de usar propriedades statics...Vamos lá.
Você cria uma classe no seu projeto chamada Numeros.cs
Dentro dela vc cria essas propriedades:
namespace TCC { public class Numeros { private static string salario; public static string Salario { get { return salario; } set { salario = value; } } private static string horasextras; public static string HorasExtras { get { return horasextras; } set { horasextras = value; } } } }
O que vc deve fazer agora, quando o rapaz que utilizar o sistema digitar algum numero, vc armazena dentro da sua propriedade, mais ou menos como abaixo:
Numeros.Salario = textboxSalario.Text; Numeros.HorasExtras = textboxHorasExtras.Text;
E quando vc precisar pegar esse valor em outro form, vc pode pegar como abaixo:
double salario = Numeros.Salario; double horasExtras = Numeros.HorasExtras;
Valeu, se ajudar marque se não, posta aqui que ajudamos !!
Atenciosamente, Guilherme. Caso esta resposta foi útil para seu problema, por favor, marque como mesma. Caso ela apenas responda sua pergunta corretamente, não esqueça de marca-lá.
- Editado Seratti terça-feira, 10 de julho de 2012 19:54 erro port.
- Sugerido como Resposta EduardoPiresMVP terça-feira, 10 de julho de 2012 20:24
- Marcado como Resposta Harley AraujoModerator quinta-feira, 19 de julho de 2012 13:27
-
Olá, existe varias formas
1 - Variáveis globais - Criar uma variável estática. (Não recomendável)
2 - Método/Propriedade - Você tambem pode criar método ou propriedade no form e passar a informação antes do form.show();
3 - Constructor - Você pode usar sobrecarga no contructor passando os parâmetros.
Demonstra Passo a passo: Passando dados entre Windows Forms
VB .NET - Passando valores entre formulários Codigo em VB mais de fácil explicação
Trocando informações entre WINDOWS-FORMS em C#
Não esqueça de marcar o post como útil caso tenha te ajudado.
- Sugerido como Resposta EduardoPiresMVP terça-feira, 10 de julho de 2012 20:24
- Marcado como Resposta Harley AraujoModerator quinta-feira, 19 de julho de 2012 13:27
-
public partial class Form1 : Form{ public void seumetodo(){ Form2 form2 = new Form2(); Form2.Total = 200; form2.Show(); } } public partial class Form2 : Form{ public static double Total; }
Não esqueça de marcar o post como útil caso tenha te ajudado.
- Marcado como Resposta Harley AraujoModerator quinta-feira, 19 de julho de 2012 13:27
Todas as Respostas
-
Boa tarde Clemente,
Você pode criar uma variavel global para armazenar esse valor e no load do seu form que mostrará o resultado você exibe o valor dela apontando para um textBox ou label...
public double resultado
Se isso não resolver poste mais detalhes sobre sua dúvida.
- Editado Thales Vidal terça-feira, 10 de julho de 2012 19:45
-
Gosto muito de usar propriedades statics...Vamos lá.
Você cria uma classe no seu projeto chamada Numeros.cs
Dentro dela vc cria essas propriedades:
namespace TCC { public class Numeros { private static string salario; public static string Salario { get { return salario; } set { salario = value; } } private static string horasextras; public static string HorasExtras { get { return horasextras; } set { horasextras = value; } } } }
O que vc deve fazer agora, quando o rapaz que utilizar o sistema digitar algum numero, vc armazena dentro da sua propriedade, mais ou menos como abaixo:
Numeros.Salario = textboxSalario.Text; Numeros.HorasExtras = textboxHorasExtras.Text;
E quando vc precisar pegar esse valor em outro form, vc pode pegar como abaixo:
double salario = Numeros.Salario; double horasExtras = Numeros.HorasExtras;
Valeu, se ajudar marque se não, posta aqui que ajudamos !!
Atenciosamente, Guilherme. Caso esta resposta foi útil para seu problema, por favor, marque como mesma. Caso ela apenas responda sua pergunta corretamente, não esqueça de marca-lá.
- Editado Seratti terça-feira, 10 de julho de 2012 19:54 erro port.
- Sugerido como Resposta EduardoPiresMVP terça-feira, 10 de julho de 2012 20:24
- Marcado como Resposta Harley AraujoModerator quinta-feira, 19 de julho de 2012 13:27
-
Olá, existe varias formas
1 - Variáveis globais - Criar uma variável estática. (Não recomendável)
2 - Método/Propriedade - Você tambem pode criar método ou propriedade no form e passar a informação antes do form.show();
3 - Constructor - Você pode usar sobrecarga no contructor passando os parâmetros.
Demonstra Passo a passo: Passando dados entre Windows Forms
VB .NET - Passando valores entre formulários Codigo em VB mais de fácil explicação
Trocando informações entre WINDOWS-FORMS em C#
Não esqueça de marcar o post como útil caso tenha te ajudado.
- Sugerido como Resposta EduardoPiresMVP terça-feira, 10 de julho de 2012 20:24
- Marcado como Resposta Harley AraujoModerator quinta-feira, 19 de julho de 2012 13:27
-
Boa tarde Clemente,
Você pode criar uma variavel global para armazenar esse valor e no load do seu form que mostrará o resultado você exibe o valor dela apontando para um textBox ou label...
public double resultado
Se isso não resolver poste mais detalhes sobre sua dúvida.
Duvida.
Como que eu vou criar essa variável global ???e onde?
-
variáveis globais são declaradas usando a keyword static
para utilizar é necessário chamar através da classe que você a declarou.
public class MinhaClasse { public static double Resultado; } MinhaClasse.Resultado = 200; MessageBox.Show(MinhaClasse.Resultado);
Não esqueça de marcar o post como útil caso tenha te ajudado.
-
variáveis globais são declaradas usando a keyword static
para utilizar é necessário chamar através da classe que você a declarou.
public class MinhaClasse { public static double Resultado; } MinhaClasse.Resultado = 200; MessageBox.Show(MinhaClasse.Resultado);
Não esqueça de marcar o post como útil caso tenha te ajudado.
ah enterndi mais ou menos.
Tem como vc criar com as minha variáveis para facilitar o meu entendimento?
-
public partial class Form1 : Form{ public void seumetodo(){ Form2 form2 = new Form2(); Form2.Total = 200; form2.Show(); } } public partial class Form2 : Form{ public static double Total; }
Não esqueça de marcar o post como útil caso tenha te ajudado.
- Marcado como Resposta Harley AraujoModerator quinta-feira, 19 de julho de 2012 13:27
-
clemente wallace, da forma que passei para você, não se encaixou no seu projeto ?!
Atenciosamente, Guilherme. Caso esta resposta foi útil para seu problema, por favor, marque como mesma. Caso ela apenas responda sua pergunta corretamente, não esqueça de marca-lá.
-
Seguindo as instruções contidas em Trocando informações entre WINDOWS-FORMS em C# consegui que uma informação do segundo form chegasse no terceiro.
Obrigado! -
-