IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

lien entre des forms


Sujet :

C++/CLI

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 15
    Par d�faut lien entre des forms
    Je souhaite faire une application en C++ avec des fen�tres gr�ce Visual C++.
    J'arrive a faire mes fen�tres mais je n'arrive pas a faire que quand je clique sur un bouton �a m'am�ne a une autre fen�tre.

    Comment faire ??

    Merci d'avance

  2. #2
    Membre �prouv�
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    85
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 85
    Par d�faut
    Slt je crois que tu n'est pas ton le bon forum car ici c'est C# a ne pas confondre avec C++ quoi qu'il en soit la syntaxe est tres ressemble car C# herite de C++ est l'evolution selon microsoft et non Darwin

    C->C++->C# oui on ajoute ++ a chaque fois alors a quand C++++++

    bon en C# pour faire apparaitre une autre form

    Form2 frm = new Form2();
    frm.Show();

    sa doit etre equivalent en C++ mais va poser la question sur le forum C++

    Merci

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 15
    Par d�faut
    Je comprend pu rien sur le forum C++ on me dit de venir ici et ici c'est l'inverse

  4. #4
    R�dacteur
    Avatar de The_badger_man
    Profil pro
    D�veloppeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par d�faut
    Je pense que le mieux est dans le sous forum Manag�/Natif
    Les r�gles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages priv�s svp

    Software is never finished, only abandoned.

  5. #5
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    le mieux est le forum C++/CLI,
    regarde dans la faq C++/CLI http://dotnet.developpez.com/faq/cpp...rms#newwinform

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 15
    Par d�faut
    J'ai �t� dans la FAQ grace au lien

    Comment cr�er et afficher une nouvelle Winform ?

    auteur : nico-pyright(c)

    Il faut dans un premier temps cr�er une nouvelle Winform :
    Click droit sur le projet --> Add -- New Item --> UI --> Winforms Form.
    L�, nommez-la comme bon vous semble, par exemple Form2. Visual Studio g�n�re donc une nouvelle classe, et la winform est modifiable �galement � travers l'IDE.

    Pour afficher cette nouvelle form, par exemple depuis un click sur un bouton de la premi�re form, il faut inclure le Form2.h dans le fichier .h de notre premi�re Form (Form1.h par d�faut).


    #include "Form2.h"

    Ensuite dans l'�v�nement du click sur le bouton (ou autre), il faut instancier la classe et appeler la m�thode Show() sur l'objet cr��.


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


    Notez que la m�thode Show() affiche la fen�tre simplement. On peut �galement utiliser ShowModal() pour qu'elle soit modale comme une bo�te de dialogue.
    Mais je ne sais pas ou inclure
    Form2 ^maForm2 = gcnew Form2();
    maForm2->Show();

  7. #7
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    et bien ca d�pend, tu veux que la nouvelle form s'ouvre � quelle occasion ?
    si c'est lors du click sur un bouton, il faut le mettre dans la m�thode qui est g�n�r�e lors de l'�v�nement du click sur le bouton (pour savoir comment g�n�rer la m�thode click, voir dans ce tuto http://nico-pyright.developpez.com/t...s/#LhelloWorld , c'est expliqu� pour le label, mais le principe est le meme)

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 15
    Par d�faut
    Si j'ai bien compris il faut que j'introduise

    Form2 ^maForm2 = gcnew Form2();
    maForm2->Show();
    dans mon code source

    #include "Form2.h"

    #pragma once


    namespace projet1 {

    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System:ata;
    using namespace System:rawing;

    /// <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;
    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->SuspendLayout();
    //
    // button1
    //
    this->button1->Location = System:rawing:oint(51, 76);
    this->button1->Name = L"button1";
    this->button1->Size = System:rawing::Size(194, 106);
    this->button1->TabIndex = 0;
    this->button1->Text = L"button1";
    this->button1->UseVisualStyleBackColor = true;
    this->button1->Click += gcnew System::EventHandler(this, &Form1::button_click);
    //
    // Form1
    //
    this->AutoScaleDimensions = System:rawing::SizeF(6, 13);
    this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    this->ClientSize = System:rawing::Size(292, 266);
    this->Controls->Add(this->button1);
    this->Name = L"Form1";
    this->Text = L"Form1";
    this->ResumeLayout(false);

    }
    #pragma endregion

    private: System::Void button_click(System::Object^ sender, System::EventArgs^ e) {


    }

    };
    }
    apres la ligne

    private: System::Void button_click(System::Object^ sender, System::EventArgs^ e) {

  9. #9
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    tu as bien compris

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 15
    Par d�faut
    merci mais quand je test mon projet il y a 4 erreurs
    ------ D�but de la g�n�ration : Projet : projet1, Configuration : Debug Win32 ------
    Compilation en cours...
    projet1.cpp
    c:\documents and settings\d1e2w\mes documents\visual studio 2005\projects\projet1\projet1\Form1.h(89) : error C2065: 'Form2' : identificateur non d�clar�
    c:\documents and settings\d1e2w\mes documents\visual studio 2005\projects\projet1\projet1\Form1.h(89) : error C2065: 'maForm2' : identificateur non d�clar�
    c:\documents and settings\d1e2w\mes documents\visual studio 2005\projects\projet1\projet1\Form1.h(89) : error C2061: erreur de syntaxe : identificateur 'Form2'
    c:\documents and settings\d1e2w\mes documents\visual studio 2005\projects\projet1\projet1\Form1.h(90) : error C2227: la partie gauche de '->Show' doit pointer vers un type class/struct/union/g�n�rique
    le type est ''unknown-type''

  11. #11
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    tu dois d�buter en C++, peut-etre qu'un ptit cours ou un ptit bouquin pourrait t'aider

    il faut bien sur inclure dans ce fichier le fichier .h qui contient la d�finition de form2


  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 15
    Par d�faut
    elle est d�j� inclue a la premi�re ligne du code

  13. #13
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    est-ce que Form2 inclu �galement form1.h ?
    si oui voir dans la faq c++/cli a cet endroit http://dotnet.developpez.com/faq/cpp...s#crossinclude
    si non, uploade ton projet que je jette un coup d'oeil

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 15
    Par d�faut
    �a depend oui et non car je souhaite faire un programme o� comme dans les programmes d'installation quand tu clique sur le bouton tu acc�d� a " une autre page "

  15. #15
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    est-ce que la solution des d�clarations anticip�es solutionne ton probl�me ?

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 15
    Par d�faut
    Apr�s une absence hier je recr�er un nouveau projet et sa marche.

    Mais il s'ouvre une deuxi�me fen�tre lorsque je clique sur le bouton

    comment faire pour que seulement le contenu de la fen�tre change??

    Merci

  17. #17
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    ah ba c'�tait pas la question pos�e

    pour ca, plusieurs m�thodes, mais peut-etre que le plus simple serait de cacher la premiere fenetre et d'ouvrir la deuxieme � la meme position.

    Sinon, utiliser 2 panels ou 2 usercontrols

Discussions similaires

  1. lien entre des fenetres en C++
    Par d1e2w dans le forum VC++ .NET
    R�ponses: 6
    Dernier message: 28/08/2007, 23h05
  2. R�ponses: 2
    Dernier message: 21/02/2007, 12h54
  3. Lien entre 2 Forms
    Par beral dans le forum C++Builder
    R�ponses: 3
    Dernier message: 04/08/2006, 00h09
  4. Liens entre des classes h�rit�es
    Par qwiqwi dans le forum C++
    R�ponses: 12
    Dernier message: 09/02/2006, 15h36
  5. Liens entre des bases Access
    Par Zorg44 dans le forum Access
    R�ponses: 2
    Dernier message: 17/11/2005, 00h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo