none
Passagem de variaveis entre forms RRS feed

  • Pergunta

  • Pessoal,

    Tenho uma aplicação com 2 forms. No form1 existe um botao que abre o form2. O que não consigo é passar o valor de uma variável do form1.h para o form2. Como se faz isso? Já li vários posts dizendo que o conceito de form nao é c++. Qual linguagem estou programando afinal? Sei que uso o Visual C++ 2008 Expression Edition e utilizo form.

    Leonardo
    quinta-feira, 7 de janeiro de 2010 17:16

Respostas


  • Vou tentar te explicar, caso nao entenda, posso te encaminhar um exemplo.

    Vc deve declarar como public o construtor e a variavel q vc esta usando para ler o valor. Isso no form1.

    public

    :

            Form2^ formtest;

     

            double test1;

    Voce pode declarar acima da inicializacao dos componentes, por exemplo.

    #pragma region Windows Form Designer generated code
    		/// <summary>
    		/// Required method for Designer support - do not modify
    		/// the contents of this method with the code editor.
    		/// </summary>
    		void InitializeComponent(void)
    		{...


    Ja no form2 voce pega os valores que voce entro no form anterior, como segue o exemplo:

    public ref class Form2 : public System::Windows::Forms::Form
    	{
    	public:
    		Form2(double test):test3(test)
    		{
    			
    			InitializeComponent();
    			//
    			//TODO: Add the constructor code here
    			//
    	
    			this->label1->Text = test3.ToString();
    					
    		}

     

     

     

    segunda-feira, 25 de janeiro de 2010 17:11

Todas as Respostas

  • Utiliza uma variavel no construtor do Form2, assim quando vc instanciar o Form2 vc necessariamente deve passar este parametro.
    Forms são conceitos do framework, e como vc deve estar utilizando c++ em código gerenciado, vc pode utilizar formularios e todos os componentes do .Net framework.
    • Sugerido como Resposta Danimar Ribeiro quarta-feira, 10 de fevereiro de 2010 19:45
    quinta-feira, 21 de janeiro de 2010 12:14

  • Vou tentar te explicar, caso nao entenda, posso te encaminhar um exemplo.

    Vc deve declarar como public o construtor e a variavel q vc esta usando para ler o valor. Isso no form1.

    public

    :

            Form2^ formtest;

     

            double test1;

    Voce pode declarar acima da inicializacao dos componentes, por exemplo.

    #pragma region Windows Form Designer generated code
    		/// <summary>
    		/// Required method for Designer support - do not modify
    		/// the contents of this method with the code editor.
    		/// </summary>
    		void InitializeComponent(void)
    		{...


    Ja no form2 voce pega os valores que voce entro no form anterior, como segue o exemplo:

    public ref class Form2 : public System::Windows::Forms::Form
    	{
    	public:
    		Form2(double test):test3(test)
    		{
    			
    			InitializeComponent();
    			//
    			//TODO: Add the constructor code here
    			//
    	
    			this->label1->Text = test3.ToString();
    					
    		}

     

     

     

    segunda-feira, 25 de janeiro de 2010 17:11