begin process at 2010 02 10 00:46:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

instancier form1 dans form2


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

instancier form1 dans form2

dimanche 30 mars 2008 à 14:23:27 | instancier form1 dans form2

kikiokiller

Bonjour à tous,
Ptite question bete surement,
 Comment instancier ma form1 (parent) dans form2 (fils) ?
J'ai ecris ceci mais le compilateur me dis qu'il ne connais pas mes textBox du form1 !!!!

namespace

testscrollbar

{

publicpartialclassForm2 : Form

{

publicForm1 form1;

public Form2()

{

InitializeComponent();

}

privatevoid Form2_Move(object sender, EventArgs e)

{

int cx = this.Location.X;

int cy = this.Location.Y;

form1.textBox2.Text = cx.ToString();

form1.textBox1.Text = cy.ToString();

cy =

this.Location.Y;

cx =

this.Location.X;

}

}

}
D'avance merci        kiki.

dimanche 30 mars 2008 à 14:38:00 | Re : instancier form1 dans form2

oximoron

Membre Club

bah oui form1 est null là faut peut être lui passer en argument...

soit comme ca 

private Form1 _form1;
public Form2(Form1 aForm1)
{
  _form1= aForm1;
  InitializeComponent();
}

ou tu peux aussi passer uniquement les objets dont tu as besoins au constructeur :
private TextBox _TxtBox1;
private TextBox _TxtBox2;
public Form2(TextBox aTxtBox1)
{
  _TxtBox1 = aTxtBox1;
  _TxtBox2 = aTxtBox2;
  InitializeComponent();
}
BR>si j'ai bien compris ton pb ca devrait marcher

dimanche 30 mars 2008 à 14:58:27 | Re : instancier form1 dans form2

kikiokiller

Bonjour oximoron,
La réponse me convient bien, mais du coup si j'écris:

private
Form1 _form1;

public Form2(Form1 aForm1)
{
  _form1= aForm1;
  InitializeComponent();
}

c'est mon form2 qui n'est plus instancier correctement dans form1.
Et si j'utilise ta méthode pour faire la meme chose à form1, c'est "program.cs" qui me dis qu'il ne connais plus form1.   loool   que faire?

J'ai 2 semaine de pratique, dsl d'etre aussi bete :)

D'avance merci     kiki.

dimanche 30 mars 2008 à 16:33:56 | Re : instancier form1 dans form2

oximoron

Membre Club

Il faut alors faire une classe qui connait les deux Form1 et Form2.

public class CMonTraitmentdesFentetres
{
  private static Form1 _Form1;
  private static Form2 _Form2;


  public CMonTraitmentdesFentetres()
  {
  }

  public static form_1
  {
    get { return _Form1; }
    set { _Form1= value; }
  }
  public static form_2
  {
    get { return _Form2; }
    set { _Form2 = value; }
  }
}

et dans program.cs
CMonTraitmentdesFentetres.form_1 = new Form1();
CMonTraitmentdesFentetres.form_2 = new Form2();

CMonTraitmentdesFentetres.form_1.show();
CMonTraitmentdesFentetres.form_2.show();


Voila voila avec un peu de chance ca marche. c'est peu être pas la meilleur solution, mais je ne sais pas ce que tu va en faire
/SPAN>

dimanche 30 mars 2008 à 17:29:40 | Re : instancier form1 dans form2

ecosmose

nan mais on est tous là pour apprendre...et apporter des connaissances pour les uns et les autres..

Le souci que tu rencontre c'est en effet un problème d'enfant Parent...le problème est que ce dernier cas de figure tu souhaites lancé la Form2 comme parent donc ca pose des problèmes (enfin je crois que c'est ce qui se passe)..l'avantage c'est de traiter ce genre de manip depuis la fenetre parente...comme

et il faudrait que tu abonnes les evenement de la from2 à une méthode de la Form1 lorsque bien sur tu instancies la Form2 depuis la Form1 comme ceci

Class Form1

{

new Form2();//sans passage de la Form parente

Form2.Move += new EventHandler(Form1.Move_Form2);//ou l'evenement associé à la Form2 que tu désires traiter

private void Form2_Move(object sender, EventArgs e)

{

int cx = Form2.Location.X;int cy = Form2.Location.Y;

form1.textBox2.Text = cx.ToString();

form1.textBox1.Text = cy.ToString();

cy =

Form2.Location.Y;

cx =

Form2.Location.X;

}

}


De ce fait tu ne traite que les traitements à effectuer sur la Form1 dans la Form1 et ceux de la Form2 que dans la Form2 uniquement quand tel evt se déroule dans la from parent ou enfant..)

BINOME de ECOSMOSE
Association ecologique d'actions de culture et d'Informations
dimanche 30 mars 2008 à 20:56:08 | Re : instancier form1 dans form2

kikiokiller

Je me suis peut etre mal expliquer:

Form1 est parent
Form2 est enfant

La Form1 est donc la fenetre principale d'ou j'envoie des actions et aussi d'ou je recoie des infos.
Il se trouve que dans mon Form1, j'ai deux textBox qui doivent me renvoyer les coordonnées X et Y de la Form2.

J'écris donc ceci dans ma Form2:

private

void Form2_Move(object sender, EventArgs e)
{
      int cx = This.Location.X;
      int cy = This.Location.Y;
      form1.textBox2.Text = cx.ToString();
      form1.textBox1.Text = cy.ToString();
      cy =
This.Location.Y;
      cx =
This.Location.X;
}
Le probleme c'est que form1 est inconnu dans form2. Normale.
Donc ma question était comment instancier d'une maniere simple mon form1 dans form2?
Comme ca, quand mon form2 bougera, il enverra en temps reel les coordonnées sur mes deux textbox qui sont sur ma form1.
D'avance Merci.
dimanche 30 mars 2008 à 21:07:11 | Re : instancier form1 dans form2

ecosmose

Relis ce que je t'ai posté et tu verras qu'avec ma solutionj tu n'as pas besoin de gérer les actions de la form1 dans Form2, c'est elle qui gère ses propres actions
 d'où
"
De ce fait tu ne traite que les traitements à effectuer sur la Form1 dans la Form1 et ceux de la Form2 que dans la Form2 uniquement quand tel evt se déroule dans la from parent ou enfant..)
"
BINOME de ECOSMOSE
Association ecologique d'actions de culture et d'Informations
dimanche 30 mars 2008 à 21:53:54 | Re : instancier form1 dans form2

ecosmose

J'ai créé un source qui pourra t'aider

http://www.csharpfr.com/codes/GESTION-EVENEMENT-INTER-FORM_46232.aspx

BINOME de ECOSMOSE
Association ecologique d'actions de culture et d'Informations
dimanche 30 mars 2008 à 22:59:13 | Re : instancier form1 dans form2

kikiokiller

Je te remercie pour ces infos, mais je suis débutant et j'aimerais que cantoné au méthode de base et classique pour ne pas m'enbrouiller.

Alors si quelqu'un à une solution simple à cela je vous remercie:

Form1 est parent
Form2 est enfant

La Form1 est donc la fenetre principale d'ou j'envoie des actions et aussi d'ou je recoie des infos.
Il se trouve que dans mon Form1, j'ai deux textBox qui doivent me renvoyer les coordonnées X et Y de la Form2.

J'écris donc ceci dans ma Form2:

private

void Form2_Move(object sender, EventArgs e)
{
      int cx = This.Location.X;
      int cy = This.Location.Y;
      form1.textBox2.Text = cx.ToString();
      form1.textBox1.Text = cy.ToString();
      cy =
This.Location.Y;
      cx =
This.Location.X;
}
Le probleme c'est que form1 est inconnu dans form2. Normale.
Donc ma question était comment instancier d'une maniere simple mon form1 dans form2?
Comme ca, quand mon form2 bougera, il enverra en temps reel les coordonnées sur mes deux textbox qui sont sur ma form1.
D'avance Merci.

lundi 31 mars 2008 à 00:39:16 | Re : instancier form1 dans form2

ecosmose

As tu regarder le source que je t'ai posté ? parce que ca répond bien à tes attentes....

BINOME de ECOSMOSE
Association ecologique d'actions de culture et d'Informations

1 2

Cette discussion est classée dans : form2, cx, form1, location, instancier


Répondre à ce message

Sujets en rapport avec ce message

acces aux propriete d'un autre formulaire [ par mathieurene ] un bouton de mon form1 lance mon form2.comment acceder a partir du form2 au propriete de mon form1?j'ai essayé avec les assenceurs, sans succés. pleas Garder un string en passant de Form1 à Form2 [ par cedricvdm ] Comment puis-je faire pour garder la valeur d'un textbox du Form1 une fois que le Form2 est ouvert?Merci de votre aide form inaccessible [ par cpetter ] BonjourJe débute en C# et j'ai un petit problèmeJ'ai un form qui est mon programme principalEn plus j'ai un form qui s'ouvre depuis le menu du form1 e 2 problemes à résoudre [ par tiju50 ] Je suis toujours avec mon appli Windows from avec un Form1 principal et un Form2 secondaire.Mon premier probleme concerne l'utilisation dans le Form1 Form2 modifi Form1 [ par lrdjv ] Voila je voudrai modifier le contenue d?un richTextBox a partir d?info d?une form2J?ai ce code dans ma form2 :private void Menu_MouseDown(object sende Acceder aux proprietes d'une fenetre a partir d'une autre [ par akito06 ] Bonjour a tous et a toutesApres avoir bien exploré de nombreux post du forum, je ne trouve pas de solution a mon probleme.Le probleme : Application MD [C#] Refresh d'un formulaire owner [ par bibicool ] Bonjour aux experts... aux autres aussi ;-)Petite question,J'ai un Formulaire Form1 qui possède une méthode Refresh().A partir de celui-ci, j'ouvre un Portée des composants... [ par lagoelle ] Salut, Je me retrouve devant un problème: j'ai une form principale (Form1) quand [C#] Redimentionner l'image [ par MickParadiseLost ] Bonjour, j'ai un form1 (form principal avec un menu) et un form2 (form qui s'ouvre en MDI dans le form1). Le form2 affiche une image (sans passer par Action lors d'un show [ par hetneo ] Bonjour,En fait je travail avec deux fenetres Form1 et Form2.Donc Form1 appel Form2 lors d'un appui sur un bouton donc Form1 est caché et Form2 s'affi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales