none
Como chamar uma variável em outro form RRS feed

  • 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.

    terça-feira, 10 de julho de 2012 19:40

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
    terça-feira, 10 de julho de 2012 19:53
  • 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.

    terça-feira, 10 de julho de 2012 19:56
  • 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.

    quarta-feira, 11 de julho de 2012 21:21

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
    terça-feira, 10 de julho de 2012 19:44
  • 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
    terça-feira, 10 de julho de 2012 19:53
  • 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.

    terça-feira, 10 de julho de 2012 19:56
  • 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?

    quarta-feira, 11 de julho de 2012 18:37
  • 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.

    quarta-feira, 11 de julho de 2012 18:44
  • 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?

    quarta-feira, 11 de julho de 2012 21:10
  • 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.

    quarta-feira, 11 de julho de 2012 21:21
  • 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á.

    quinta-feira, 12 de julho de 2012 20:20
  • 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!
    sexta-feira, 25 de janeiro de 2013 11:34
  • Cara muito obrigado ajudou muito, não conhecia este tipo de declaração
    sábado, 4 de maio de 2013 05:00
  • Esta  dica  me  ajudou.

    Obrigado.

    terça-feira, 9 de junho de 2015 13:43