Problème pour passage de parametre d'un Form à l'autre, en C sharp

Résolu
andy2501 Messages postés 14 Date d'inscription mercredi 7 avril 2010 Statut Membre Dernière intervention 12 avril 2010 - 7 avril 2010 à 18:41
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...

19 réponses

cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
7 avril 2010 à 19:02
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();
3
andy2501 Messages postés 14 Date d'inscription mercredi 7 avril 2010 Statut Membre Dernière intervention 12 avril 2010
7 avril 2010 à 20:14
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
0
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
7 avril 2010 à 20:16
De rien
0
soupiste Messages postés 79 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 22 juin 2011
7 avril 2010 à 23:08
Salut,

j'ai presque le même problème, mais je ne sais pas comment renvoyer mes parametres
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
7 avril 2010 à 23:12
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.
0
soupiste Messages postés 79 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 22 juin 2011
7 avril 2010 à 23:16
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
0
soupiste Messages postés 79 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 22 juin 2011
7 avril 2010 à 23:22
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.
0
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
7 avril 2010 à 23:28
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.
0
soupiste Messages postés 79 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 22 juin 2011
7 avril 2010 à 23:34
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
0
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
7 avril 2010 à 23:36
Si ta fenêtre est déjà ouverte tu peux faire si je ne m'abuse
f2.Visible = true;
0
soupiste Messages postés 79 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 22 juin 2011
7 avril 2010 à 23:40
ca ne marche pas !
C'est le meme resultat ! une nouvelle form2 s'ouvre ...
0
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
7 avril 2010 à 23:41
ta form1 contient bien la référence de ta fenêtre ouverte ?
0
soupiste Messages postés 79 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 22 juin 2011
7 avril 2010 à 23:46
Oui ! Mais comment s'en assurer ?
ma form1 contient bien la reference :

form2 f2 = new form2();

form2 etant deja ouverte ....
0
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
7 avril 2010 à 23:51
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.
0
soupiste Messages postés 79 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 22 juin 2011
8 avril 2010 à 00:08
franchement, je ne comprend rien !

oU DOIS JE CREER LES REFERENCES ?
0
soupiste Messages postés 79 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 22 juin 2011
8 avril 2010 à 00:14
Au commencement :

- Depuis form2, j'ouvre form1
- Dans form1, apres parametres valider, je dois ouvrir form2
qui va m'afficher les resultats de form1.
0
cs_GG29 Messages postés 326 Date d'inscription vendredi 23 décembre 2005 Statut Membre Dernière intervention 8 février 2011 17
8 avril 2010 à 00:17
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
0
soupiste Messages postés 79 Date d'inscription samedi 12 avril 2008 Statut Membre Dernière intervention 22 juin 2011
8 avril 2010 à 00:30
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
0
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
Salut !

J'ai tout essayé, mais rien ne marche !!!!
Je sais pas pourquoi
0