none
Codigo de janelas RRS feed

  • Pergunta

  • Bem em resumo quero fazer um programa que realiza varios calculos diferentes, então fiz uma window "raíz" com varios btns cada um com a identificação de um calculo agora quero colocar um codigo em cada btn que ao usuario clicar uma nova form feita por mim abra com os dados dos calculos.

    eu usei o seguinte codigo em um btn ex.:

    NovaForm form = new NovaForm();
    form.Show();

    E como eu tenho uma form nomeada (Propriedade text = IMC) como IMC ficou o seguinte

    IMC form = new IMC();
    form.Show();

    mas ocorre erros, então quem souber "refinar" este codigo me ajuda por favor.

    Se ajudar eu uso o vs 2010 c++ express

    quarta-feira, 30 de maio de 2012 19:20

Respostas

  • É isso que eu disse,só tire os parâmetros do construtor e os membros públicos da classe Form2.h.

    Então,com um construtor sem parâmetros:

    Form2()
    {
        InitializeComponent();
    }

    Chama ele assim:

    Form2 ^f = gcnew Form2();
    f->Show();

    etc.

    • Marcado como Resposta Eikeros quarta-feira, 6 de novembro de 2013 12:29
    sexta-feira, 1 de junho de 2012 01:58

Todas as Respostas

  • Quais os dados dos cálculos? Onde ficam?
    quarta-feira, 30 de maio de 2012 19:23
  • os calculos ficam em uma form que eu adicionei aos header files, eu adicionei uma nova window form e nela eu desenvolvi os calculo por exemplo na form que eu adicionei para IMC eu coloquei btns e textbox's para a realização dos calculos, agora como "chamar" essas forms adicionais ao clicar em um btn da janela "raíz".

    quarta-feira, 30 de maio de 2012 22:13
  • o que quer fazer é passar valores para outro(s) formulário(s)?

    Se for isso,você pode usar o construtor do formulário que será aberto:

    double Peso;
    double Altura;
    
    Form2(double peso,double altura)
    {
        InitializeComponent();
        this->Peso = peso;
        this->Altura = altura;
    
        MessageBox::Show(String::Format("Peso: {0}\nAltura: {1}",Peso,Altura));
    }

    Mostrando ele:

    Form2 ^f = gcnew Form2(70,1.80);
    f->Show();
    quinta-feira, 31 de maio de 2012 17:04
  • não o que eu quero é quando eu clicar, por exemplo, no btn imc da janela raíz, a Form2.h apareça, tipo a janela raíz serve somente como uma janela cheia de atalhos (que são os btns) ao clicar em um btn abre uma form que eu já configurei com um tipo de calculo como IMC. Os calculos eu ja tenho o codigo agora quero fazer uma janela raiz com btns de atalho.

    ps: se achar mais facil posso postar o codigo do meu programa


    • Editado Eikeros quinta-feira, 31 de maio de 2012 19:17 sintaxe
    quinta-feira, 31 de maio de 2012 19:13
  • É isso que eu disse,só tire os parâmetros do construtor e os membros públicos da classe Form2.h.

    Então,com um construtor sem parâmetros:

    Form2()
    {
        InitializeComponent();
    }

    Chama ele assim:

    Form2 ^f = gcnew Form2();
    f->Show();

    etc.

    • Marcado como Resposta Eikeros quarta-feira, 6 de novembro de 2013 12:29
    sexta-feira, 1 de junho de 2012 01:58
  • cara sou meio novo em programação de windows form e acho que não peguei direito

    este é todo codigo da form2, onde eu altero?

    #pragma once

    namespace Enfermax {

        using namespace System;
        using namespace System::ComponentModel;
        using namespace System::Collections;
        using namespace System::Windows::Forms;
        using namespace System::Data;
        using namespace System::Drawing;

        /// <summary>
        /// Summary for Form2
        /// </summary>
        public ref class Form2 : public System::Windows::Forms::Form
        {
        public:
            Form2()
            {
                InitializeComponent();
                //
                //TODO: Add the constructor code here
                //
            }

        protected:
            /// <summary>
            /// Clean up any resources being used.
            /// </summary>
            ~Form2()
            {
                if (components)
                {
                    delete components;
                }
            }
        private: System::Windows::Forms::Label^  label1;
        protected:
        private: System::Windows::Forms::Label^  label2;
        private: System::Windows::Forms::Label^  label3;
        private: System::Windows::Forms::TextBox^  textBoxPeso;
        private: System::Windows::Forms::TextBox^  textBoxAltura;
        private: System::Windows::Forms::TextBox^  textBoxresultado;
        private: System::Windows::Forms::Button^  button1;
        private: System::Windows::Forms::Button^  button2;
        private: System::Windows::Forms::Button^  button3;
        private: System::Windows::Forms::TextBox^  textBoximco;

        private:
            /// <summary>
            /// Required designer variable.
            /// </summary>
            System::ComponentModel::Container ^components;

    #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)
            {
                this->label1 = (gcnew System::Windows::Forms::Label());
                this->label2 = (gcnew System::Windows::Forms::Label());
                this->label3 = (gcnew System::Windows::Forms::Label());
                this->textBoxPeso = (gcnew System::Windows::Forms::TextBox());
                this->textBoxAltura = (gcnew System::Windows::Forms::TextBox());
                this->textBoxresultado = (gcnew System::Windows::Forms::TextBox());
                this->button1 = (gcnew System::Windows::Forms::Button());
                this->button2 = (gcnew System::Windows::Forms::Button());
                this->button3 = (gcnew System::Windows::Forms::Button());
                this->textBoximco = (gcnew System::Windows::Forms::TextBox());
                this->SuspendLayout();
                //
                // label1
                //
                this->label1->AutoSize = true;
                this->label1->Location = System::Drawing::Point(19, 20);
                this->label1->Name = L"label1";
                this->label1->Size = System::Drawing::Size(80, 13);
                this->label1->TabIndex = 0;
                this->label1->Text = L"Digite seu peso";
                //
                // label2
                //
                this->label2->AutoSize = true;
                this->label2->Location = System::Drawing::Point(19, 60);
                this->label2->Name = L"label2";
                this->label2->Size = System::Drawing::Size(83, 13);
                this->label2->TabIndex = 1;
                this->label2->Text = L"Digite sua altura";
                //
                // label3
                //
                this->label3->AutoSize = true;
                this->label3->Location = System::Drawing::Point(19, 100);
                this->label3->Name = L"label3";
                this->label3->Size = System::Drawing::Size(55, 13);
                this->label3->TabIndex = 2;
                this->label3->Text = L"Resultado";
                //
                // textBoxPeso
                //
                this->textBoxPeso->Location = System::Drawing::Point(143, 20);
                this->textBoxPeso->Name = L"textBoxPeso";
                this->textBoxPeso->Size = System::Drawing::Size(100, 20);
                this->textBoxPeso->TabIndex = 3;
                //
                // textBoxAltura
                //
                this->textBoxAltura->Location = System::Drawing::Point(143, 52);
                this->textBoxAltura->Name = L"textBoxAltura";
                this->textBoxAltura->Size = System::Drawing::Size(100, 20);
                this->textBoxAltura->TabIndex = 4;
                //
                // textBoxresultado
                //
                this->textBoxresultado->Location = System::Drawing::Point(103, 97);
                this->textBoxresultado->Name = L"textBoxresultado";
                this->textBoxresultado->Size = System::Drawing::Size(53, 20);
                this->textBoxresultado->TabIndex = 5;
                //
                // button1
                //
                this->button1->Location = System::Drawing::Point(12, 182);
                this->button1->Name = L"button1";
                this->button1->Size = System::Drawing::Size(75, 39);
                this->button1->TabIndex = 6;
                this->button1->Text = L"Calcular IMC";
                this->button1->UseVisualStyleBackColor = true;
                this->button1->Click += gcnew System::EventHandler(this, &Form2::button1_Click);
                //
                // button2
                //
                this->button2->Location = System::Drawing::Point(103, 182);
                this->button2->Name = L"button2";
                this->button2->Size = System::Drawing::Size(75, 39);
                this->button2->TabIndex = 7;
                this->button2->Text = L"Resetar";
                this->button2->UseVisualStyleBackColor = true;
                this->button2->Click += gcnew System::EventHandler(this, &Form2::button2_Click_1);
                //
                // button3
                //
                this->button3->Location = System::Drawing::Point(197, 182);
                this->button3->Name = L"button3";
                this->button3->Size = System::Drawing::Size(75, 39);
                this->button3->TabIndex = 8;
                this->button3->Text = L"Sair";
                this->button3->UseVisualStyleBackColor = true;
                this->button3->Click += gcnew System::EventHandler(this, &Form2::button3_Click_1);
                //
                // textBoximco
                //
                this->textBoximco->Location = System::Drawing::Point(162, 97);
                this->textBoximco->Name = L"textBoximco";
                this->textBoximco->Size = System::Drawing::Size(100, 20);
                this->textBoximco->TabIndex = 9;
                //
                // Form2
                //
                this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
                this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
                this->ClientSize = System::Drawing::Size(284, 262);
                this->Controls->Add(this->textBoximco);
                this->Controls->Add(this->button3);
                this->Controls->Add(this->button2);
                this->Controls->Add(this->button1);
                this->Controls->Add(this->textBoxresultado);
                this->Controls->Add(this->textBoxAltura);
                this->Controls->Add(this->textBoxPeso);
                this->Controls->Add(this->label3);
                this->Controls->Add(this->label2);
                this->Controls->Add(this->label1);
                this->Name = L"Form2";
                this->Text = L"Form2";
                this->Load += gcnew System::EventHandler(this, &Form2::Form2_Load);
                this->ResumeLayout(false);
                this->PerformLayout();

            }
    #pragma endregion
        private: System::Void Form2_Load(System::Object^  sender, System::EventArgs^  e) {
                 }
        private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    {double peso = Convert::ToDouble(textBoxPeso->Text);
    double altura = Convert::ToDouble(textBoxAltura->Text);
    double imc = peso / Math::Pow(altura,2);
    if(imc >= 18.6 && imc <= 24.9)textBoximco -> Text = "normal";
    if(imc <= 18.5)textBoximco -> Text = "subnutrido";
    if(imc >= 25 && imc <= 29.9)textBoximco -> Text = "excesso de peso";
    if(imc >= 30 && imc <= 34.9)textBoximco -> Text = "obesidade leve";
    if(imc >= 35 && imc <= 39.9)textBoximco -> Text = "obesidade moderada";
    if(imc >= 40)textBoximco -> Text = "obesidade grave";
    textBoxresultado->Text = String::Format("{0:0.00}",imc);


    }                
                 }
    private: System::Void textBoxresultado_TextChanged(System::Object^  sender, System::EventArgs^  e) {
             }
    private: System::Void textBoxAltura_TextChanged(System::Object^  sender, System::EventArgs^  e) {
             }
    private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
             }
    private: System::Void textBoxPeso_TextChanged(System::Object^  sender, System::EventArgs^  e) {
             }
    private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
                 Application::Exit();
             }
    private: System::Void textBoximc_TextChanged(System::Object^  sender, System::EventArgs^  e) {
             }
    private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
                for(int i = 0;i < this->Controls->Count; i++)
                {
                   if(this->Controls[i]->GetType() == TextBox::typeid)
                {
                   ((TextBox^)this->Controls[i])->Clear();
        }
    }
                 }
    private: System::Void button2_Click_1(System::Object^  sender, System::EventArgs^  e) {
                     for(int i = 0;i < this->Controls->Count; i++)
                {
                   if(this->Controls[i]->GetType() == TextBox::typeid)
                {
                   ((TextBox^)this->Controls[i])->Clear();
        }
    }

             }
    private: System::Void button3_Click_1(System::Object^  sender, System::EventArgs^  e) {
                  Application::Exit();
             }
    };
    }

    No btn da janela raíz eu coloco exatamente:

    Form2 ^f = gcnew Form2();
    f->Show();

    ou altero a propriedade f que da erro de identificação?

    desculpe incomodar mas que sou novo em windows forms application


    sexta-feira, 1 de junho de 2012 02:59
  • Nada.

    sexta-feira, 1 de junho de 2012 03:07
  • nada?

    então a Form 2 ta certa?

    agora é só colocar no btn esse codigo

    Form2 ^f = gcnew Form2();
    f->Show();

    e pronto?

    (há alguma propriedade deste codigo que devo alterar?)

    desculpe as varias perguntas

    sexta-feira, 1 de junho de 2012 13:50
  • Sim! Não.A não ser que seu form não se chame Form2.
    sexta-feira, 1 de junho de 2012 20:15
  • Velho tentei muitas vezes mas da 5 erros

    1    error C2065: 'Form2' : undeclared identifier    c:\users\eikeros\documents\visual studio 2010\projects\enfermax\enfermax\Form1.h    158

    2    error C2065: 'f' : undeclared identifier    c:\users\eikeros\documents\visual studio 2010\projects\enfermax\enfermax\Form1.h    158

    3    error C2061: syntax error : identifier 'Form2'    c:\users\eikeros\documents\visual studio 2010\projects\enfermax\enfermax\Form1.h    158

    4    error C2065: 'f' : undeclared identifier    c:\users\eikeros\documents\visual studio 2010\projects\enfermax\enfermax\Form1.h    159

    5    error C2227: left of '->Show' must point to class/struct/union/generic type    c:\users\eikeros\documents\visual studio 2010\projects\enfermax\enfermax\Form1.h    159


    terça-feira, 5 de junho de 2012 02:40
  • Seu form não se chama Form2.
    terça-feira, 5 de junho de 2012 03:53
  • chama sim olha:

    /// Summary for Form2
        /// </summary>
        public ref class Form2 : public System::Windows::Forms::Form
        {
        public:
            Form2()
            {
                InitializeComponent();
                //
                //TODO: Add the constructor code here
                //
            }

        protected:

    mais acima tem o codigo
    • Editado Eikeros quarta-feira, 6 de junho de 2012 02:30
    quarta-feira, 6 de junho de 2012 02:30