Problème pour passage de parametre d'un Form à l'autre, en C sharp [Résolu]

Messages postés
14
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 avril 2010
- - Dernière réponse : soupiste
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
- 8 avril 2010 à 13:29
Coucou a tous,
voila je suis nouveau sur le forum et je ne sais pas vraiment si je suis au bonne endroit pour poser ma question..

Alors voila, j'utilise une application windows forms, dans lequel j'ai deux forms,
Form1 et Form2, je vais essayé d'être le plus clair possible, j'ai rajouter un composant à visual c# qui me permet de me connecter à un server et de visualiser en direct se que voit la caméra brancher sur se server.

Se composant me donne deux cadre, un s'appelant axliveX1 placé dans le Form1, qui me permet de voir en direct et un cadre appelé axrpbX1 placé dans le Form2 qui lui me permet de visualiser les vidéos enregistré sur la base de donné d'un server. Pour se faire je dois entrer dans c'est deux cadres quelques paramètres correspondant au server comme axliveX1.username, axliveX1.password, axliveX1.ipadress et de même pour axrpbx1.username.....

Mon but et qu'à partir d'un bouton nommé "replay", placé dans Form1 je voudrais afficher le Form2, et envoyer en même temps les valeurs de axliveX1 ( username password et ipadresse) dans axrpbx1.

Je débute vraiment en C sharp et je bloque pour passé les paramètres de l'un a l'autre... si quelqu'un pouvait me donner un petit coup de pouce, cela m'aiderai beaucoup...
Afficher la suite 

19 réponses

Meilleure réponse
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
10
3
Merci
il suffit d'ajouter les propriétés dans ta Form2
public string UserName {get; set; }
public string Password {get; set; }
public string IpAdress {get; set; }


Ensuite quand tu clique sur ton bouton
Form2 f = new Form2();
f.UserName = axliveX1.UserName;
f.Password = axliveX1.Password;
f.IpAdress = axliveX1.IpAdress;
f.Show();

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_GG29
Messages postés
14
Date d'inscription
mercredi 7 avril 2010
Statut
Membre
Dernière intervention
12 avril 2010
0
Merci
ben voila, une semaine que j'me prend la tête la dessus et en une heure a peine j'ai ma réponse... merci beaucoup GG29 ca marche du tonner
Commenter la réponse de andy2501
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
10
0
Merci
De rien
Commenter la réponse de cs_GG29
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
0
Merci
Salut,

j'ai presque le même problème, mais je ne sais pas comment renvoyer mes parametres
Commenter la réponse de soupiste
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
10
0
Merci
Form2 f = new Form2();
f.UserName = axliveX1.UserName;
f.Password = axliveX1.Password;
f.IpAdress = axliveX1.IpAdress;
f.ShowDialog();

string userName = f.UserName;
...

Voila comment on récupère les valeurs.
Commenter la réponse de cs_GG29
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
0
Merci
En effet, je voudrais afficher le résultat d'une requête SQL par un clic de bouton se situant sur ma form2, résultat qui s'afficherait dans une form1.

Voici un bout de code:

Propriétés dans form1:

form2 f2 = new form2();

if (MonDialog == DialogResult.OK)
{
AJOUTE();
}

public void AJOUTE()
{
//label9.Visible = true;
f2.ODatagrid.Visible = true;
f2.panel5.Visible = false;

try
{
CmdSelect = new SqlCommand("select * from AJOUT_ATOLL", Monotrol.MaConnect);
CmdSelect.CommandType = System.Data.CommandType.Text;
MonDataAdapter = new SqlDataAdapter(CmdSelect);
ds.Tables["IdentitAtoll"].Clear();
MonDataAdapter.Fill(ds.Tables["IdentitAtoll"]);
CM = (CurrencyManager)BindingContext[ds.Tables["IdentitAtoll"]];
f2.ODatagrid.DataSource = ds.Tables["IdentitAtoll"];
CM = (CurrencyManager)BindingContext[ds.Tables["IdentitAtoll"]];
}
catch (Exception xcp)
{
MessageBox.Show("Impossible de Récupérer les données", xcp.Message);

}
}

ma méthode d'exécution de la requête est AJOUTE().

Voila, je voudrais donc que le resultat de cette requête soit affiché dans form2 qui contient un datagridview ODatagrid.

cordialement
Commenter la réponse de soupiste
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
0
Merci
ma form1 est en effet une boite de paramètre avec des checkbox.
Une fois des éléments cochés, on click sur un botuon VALIDER
qui exécute la requête.
Et le résultat se veut être affiche dans form2 qui est déjà ouvert je précise.
Commenter la réponse de soupiste
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
10
0
Merci
Il suffit dans ta form2 d'avoir une référence sur ta form1. Il suffit ensuite de lire les propriétés dont tu as besoin.
Commenter la réponse de cs_GG29
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
0
Merci
jai compris l'idee, mais je ne sais toujours pas quel genre de reference utiliser dans form1.

Pour l'execution et l'affichage d'une requete, je ne vois pas vraiment.

j'ai essaye avec f2.Show()
mais il ouvre une nouvelle form2 avec le resultat que j'attend. Moi je veux pourtant que le resultat s'affiche dans la form2 deja ouverte
Commenter la réponse de soupiste
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
10
0
Merci
Si ta fenêtre est déjà ouverte tu peux faire si je ne m'abuse
f2.Visible = true;
Commenter la réponse de cs_GG29
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
0
Merci
ca ne marche pas !
C'est le meme resultat ! une nouvelle form2 s'ouvre ...
Commenter la réponse de soupiste
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
10
0
Merci
ta form1 contient bien la référence de ta fenêtre ouverte ?
Commenter la réponse de cs_GG29
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
0
Merci
Oui ! Mais comment s'en assurer ?
ma form1 contient bien la reference :

form2 f2 = new form2();

form2 etant deja ouverte ....
Commenter la réponse de soupiste
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
10
0
Merci
form2 f2 = new form2();

ca crée une nouvelle instance de form2 (une nouvelle fenetre si tu préfère)
Si j'ai bien compris tu ouvre ta form1 à partir de ta form2. Dans ce cas tu ajoute une propriété de type form2 dans ta form1.
form1 f = new form1();
f.Form2 = this;
if(f.ShowDialog() == DialogResult.OK)
{
// ce que tu veux
}

Avec ca la form2 référencé est bien la fenêtre déjà ouverte.
Commenter la réponse de cs_GG29
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
0
Merci
franchement, je ne comprend rien !

oU DOIS JE CREER LES REFERENCES ?
Commenter la réponse de soupiste
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
0
Merci
Au commencement :

- Depuis form2, j'ouvre form1
- Dans form1, apres parametres valider, je dois ouvrir form2
qui va m'afficher les resultats de form1.
Commenter la réponse de soupiste
Messages postés
326
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
8 février 2011
10
0
Merci
Tu dois avoir une référence vers la form2 dans la form1. Cette référence doit être initialisé avec la valeur de la fenêtre déjà ouverte.

Dans form1
public Form2 {get; set; }


dans form2 (à l'endroit où tu veux ouvrir ta form1
form1 f = new form1();
f.Form2 = this;
f.show();


Comme ca form1 à la bonne référence
Commenter la réponse de cs_GG29
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
0
Merci
Grand merci pour ton aide !

Je vais continuer un peu plus tard.

Je crois que j'ai la tête très chargée....

A demain matin certainement
Commenter la réponse de soupiste
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
0
Merci
Salut !

J'ai tout essayé, mais rien ne marche !!!!
Je sais pas pourquoi
Commenter la réponse de soupiste