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# Discussion :

Le clipboard et l'accés à un élément d'une autre Form.


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 9
    Points
    9
    Par défaut Le clipboard et l'accés à un élément d'une autre Form.
    Bonjour à tous.

    J'ai un gros problème, j'ai déjà lus plusieurs sujet de ce forum à propos du clipboard et aussi à l'accès d'un certain élément d'une form mais je ne sais pas pourquoi sa ne fonctionne pas.

    J'explique : j'aimerais copier le contenu d'une textbox de la Form2 dans une textbox de la Form1
    depuis un linklabel.

    Malgré les tuto sur Google et sur ce forum je ne sais pas pourquoi sa ne fonctionne pas.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Points : 1 187
    Points
    1 187
    Par défaut
    Bonjour,

    Où se situe ton linklabel (form1 ? form2 ?) ? Agit-il comme un bouton (au clic ça recopie la valeur du champ a de la form1 vers le champ b de la form2 c'est ça ?)
    Quel est le lien entre form1 et form2 ? Par exemple form1 ouvret-elle form2 et possède donc une référence vers l'instance de form2 (ou vice-versa) ?

    Dans ce que je vois pas besoin de presse-papier !

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Oui, mon linklabel fonctionne comme un bouton. Et il se trouve sur la form2.

    Et la form1 ouvre la form2 avec un bouton aussi.

    Donc au clic sur le linklabel (qui de trouve sur ma form2 ), ça copie ce qu'il y à dans une textbox de ma form2 vers une textbox de la form1.

    J'ai essayé ceci ( ce code se trouve dans le linklabel qui est sur la form2 ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (TextboxForm2.text == "") 
    {
        Messagebox.show("le champ est vide !");
    }
    Else 
    {
        Form1.TextboxForm1.text = TextboxForm2.text;
    }
    Mais sa ne fonctionne pas

  4. #4
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Points : 1 187
    Points
    1 187
    Par défaut
    Il faut que ta form2 "connaisse" la form1, en ajoutant par exemple un constructeur dans lequel tu passes une référence de form1, là ça marchera !

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Voilà, en cherchant pendant plus de 2 heures et en usant de mes quelques notions je suis arrivé à sa.

    Dans ma Form1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            public string InputText
            {
                get { return Textbox.Text; }
                set { Textbox.Text = value; }
            }

    Dans ma Form2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     Form2 MaForm2 = new Form2();
     
                if (Textbox.Text == "")
                {
                    MessageBox.Show("Le champ correspondant au Stats générés est vide !");
                }
                else
                {
                    MaForm2.InputText = Textbox.Text;
     
                    if (MaForm2.ShowDialog() == DialogResult.OK)
                    {
                        Textbox.Text = MaForm2.InputText; 
                    }
                }
    Mais le problème est que sa ouvre une 2ième fois ma Form1 :s (mais par contre sa transfère bien les données des Textbox).

    Donc j'aimerais que sa fasse comme maintenant sauf que sa transfère les données sans ouvrir une 2ième fois ma Textbox.

  6. #6
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Pour accéder à un control de la Form2 dans la form1 (sans passer par une procedure ou une property), il suffit d'assigner à la propriété "Modifiers" su Cu control "Public" ou "Internal".

    Mais le problème est que sa ouvre une 2ième fois ma Form1
    Le souci vient d'une autre partie du code que celle indiquée.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    J'ai tout mis en "public" et ensuite j'ai mis ce code dans mon linklabel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
                Form2 MaForm2 = new Form2();
     
                if (Textbox.Text == "")
                {
                    MessageBox.Show("Le champ correspondant au Stats générés est vide !");
                }
                else
                {
                    Textbox.Text = MaForm2.Textbox.Text; 
                }
    Mais la Textbox de ma Form2 ce vide et rien n'apparaît dans la Textbox de ma Form1 :s

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/11/2008, 15h37
  2. Accès aux éléments d'une image
    Par Nates dans le forum OpenCV
    Réponses: 24
    Dernier message: 01/08/2008, 14h56
  3. Réponses: 0
    Dernier message: 31/08/2007, 20h38
  4. Accès aux éléments d'une structure
    Par licorne dans le forum Pascal
    Réponses: 1
    Dernier message: 15/02/2007, 17h44
  5. accès aux éléments d'une enum
    Par aymeric__ dans le forum C++
    Réponses: 6
    Dernier message: 17/08/2006, 21h17

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