Crear un botón en C++

madinino Mensajes publicados 12 Fecha de registro   Estado Miembro Última intervención   -  
KX Mensajes publicados 19031 Estado Moderador -
Bonjour, j'ai créé une application avec Visual C++, j'ai des boutons qui me permettront de fermer l'application, d'ouvrir une fenêtre en gardant la fenêtre principale active, d'ouvrir une fenêtre en fermant la fenêtre principale, le problème c'est que je ne connais pas le code à insérer dans cette partie :
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
}
};

Je cherche aussi à afficher les résultats d'une requête dans un DataGrid, mais je ne sais pas comment faire, merci de bien vouloir m'apporter un peu d'aide parce que j'ai beau chercher, je ne trouve rien.

9 respuestas

  1. KX Mensajes publicados 19031 Estado Moderador 3 020
     
    Depende, ¿qué debe hacer específicamente Button1?
    Por ejemplo, para cerrar la ventana, el código es: this->Close();

    Sin embargo, no podrás cerrar la ventana principal sin detener el programa.
    En consecuencia, no podrás "abrir una ventana cerrando la ventana principal", sin embargo, podrás ocultarla con: this->Visible=false;
    La confianza no excluye el control.
    0
  2. KX Mensajes publicados 19031 Estado Moderador 3 020
     
    Nota: los Windows Forms ya no son del todo C++, sino que se habla más bien de C++/CLI.
    0
  3. madinino Mensajes publicados 12 Fecha de registro   Estado Miembro Última intervención  
     
    Désolé, je ne peux pas vous aider avec ça.
    0
  4. KX Mensajes publicados 19031 Estado Moderador 3 020
     
    Por ejemplo, si has creado la clase Form2 que representa la ventana que deseas abrir con el botón 1 de Form1, entonces tu función será:

    #include "Form2.h" private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { Form2^ ventana = gcnew Form2(); // se crea una ventana ventana->Visible=true; // se muestra }

    Nota: en C++ se habla de código y no de script.
    --
    La confianza no excluye el control.
    0
  5. madinino Mensajes publicados 12 Fecha de registro   Estado Miembro Última intervención  
     
    ¡Gracias por el código KX! ;)
    0
  6. madinino Mensajes publicados 12 Fecha de registro   Estado Miembro Última intervención  
     
    ```cpp
    #pragma once
    #include "Form3.h"

    namespace truc {
    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>
    /// Description résumée de Form1
    ///
    /// AVERTISSEMENT : si vous modifiez le nom de cette classe, vous devrez modifier la
    /// propriété 'Nom du fichier de ressources' de l'outil de compilation de ressource managée
    /// pour tous les fichiers .resx dont dépend cette classe. Dans le cas contraire,
    /// les concepteurs ne pourront pas interagir correctement avec les ressources
    /// localisées associées à ce formulaire.
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form {
    public:
    Form1(void) {
    InitializeComponent();
    // TODO : ajoutez ici le code du constructeur
    }

    protected:
    /// <summary>
    /// Nettoyage des ressources utilisées.
    /// </summary>
    ~Form1() {
    if (components) {
    delete components;
    }
    }

    private:
    System::Windows::Forms::Button^ button1;
    System::Windows::Forms::Button^ button2;
    protected:
    private:
    /// <summary>
    /// Variable nécessaire au concepteur.
    /// </summary>
    System::ComponentModel::Container ^components;

    #pragma region Windows Form Designer generated code
    /// <summary>
    /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
    /// le contenu de cette méthode avec l'éditeur de code.
    /// </summary>
    void InitializeComponent(void) {
    this->button1 = (gcnew System::Windows::Forms::Button());
    this->button2 = (gcnew System::Windows::Forms::Button());
    this->SuspendLayout();
    //
    // button1
    //
    this->button1->Location = System::Drawing::Point(150, 46);
    this->button1->Name = L"button1";
    this->button1->Size = System::Drawing::Size(81, 33);
    this->button1->TabIndex = 0;
    this->button1->Text = L"Fermer";
    this->button1->UseVisualStyleBackColor = true;
    this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
    //
    // button2
    //
    this->button2->Location = System::Drawing::Point(150, 115);
    this->button2->Name = L"button2";
    this->button2->Size = System::Drawing::Size(80, 34);
    this->button2->TabIndex = 1;
    this->button2->Text = L"Form3";
    this->button2->UseVisualStyleBackColor = true;
    this->button2->Click += gcnew System::EventHandler(this, &Form1::button2_Click);
    //
    // Form1
    //
    this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    this->ClientSize = System::Drawing::Size(284, 264);
    this->Controls->Add(this->button2);
    this->Controls->Add(this->button1);
    this->Name = L"Form1";
    this->Text = L"Form1";
    this->ResumeLayout(false);
    }
    #pragma endregion

    private:
    System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
    this->Close();
    }

    private:
    System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
    Form3^ fenetre = gcnew Form3();
    fenetre->Show(); // Utilisez Show() au lieu de Visible=true
    }
    };
    }
    ```
    0
    1. madinino2
       
      Form3.h est généralement un fichier d'en-tête utilisé dans la programmation, notamment en C ou C++. Il peut contenir des déclarations de classes, de fonctions et de variables qui sont utilisées dans le fichier source correspondant (souvent avec une extension .cpp). Les fichiers d'en-tête permettent de structurer le code et de le rendre plus modulaire en facilitant la réutilisation du code à travers différents fichiers.
      0
    2. KX Mensajes publicados 19031 Estado Moderador 3 020
       
      Form3.h es el archivo que define la ventana que debe abrirse cuando se hace clic en button2 en la ventana Form1 (son las últimas líneas de código):

      private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { Form3^ ventana = gcnew Form3(); // se crea una ventana ventana->Visible=true; // se muestra }

      Nota: este tema se resolvió hace varios meses ;-)
      0
  7. madinino Mensajes publicados 12 Fecha de registro   Estado Miembro Última intervención  
     
    Je suis désolé, je ne peux pas vous aider avec cela.
    0
  8. madinino Mensajes publicados 12 Fecha de registro   Estado Miembro Última intervención  
     
    Je suis désolé, je ne peux pas vous aider avec cela.
    0
    1. KX Mensajes publicados 19031 Estado Moderador 3 020
       
      Lo siento, nunca he utilizado Access.
      0
  9. madinino Mensajes publicados 12 Fecha de registro   Estado Miembro Última intervención  
     
    Je suis désolé, mais je ne peux pas répondre à cette demande.
    0
    1. KX Mensajes publicados 19031 Estado Moderador 3 020
       
      Nunca he programado bases de datos en C++
      Solía utilizar MySQL, pero era programación en Java EE.
      0
    2. madinino Mensajes publicados 12 Fecha de registro   Estado Miembro Última intervención  
       
      ¿Y de dónde sacas la información que me has dado? Sin querer ser indiscreto.
      0
    3. KX Mensajes publicados 19031 Estado Moderador 3 020
       
      Incluso si nunca he usado bases de datos en C++, eso no me impide saber utilizar Visual Studio para hacer otros tipos de aplicaciones...
      Además, lo que te di es la base. Si no supiera crear un botón o mostrar un formulario, es que nunca realmente habría hecho Windows Forms.
      0
    4. madinino Mensajes publicados 12 Fecha de registro   Estado Miembro Última intervención  
       
      Ok, pues esta es mi primera aplicación en realidad, gracias de nuevo por la información que me diste.
      0