2010-10-03 6 views
0

J'ai créé un formulaire secondaire nommé Form2 pour mon application dans lequel l'utilisateur peut spécifier une image, une couleur et un texte.Envoyer des données d'un formulaire à un autre

Maintenant, sur cette Form2, après que l'utilisateur appuie sur le bouton OK, je veux envoyer les détails au Formulaire 1 et l'ouvrir. Par exemple: Si l'utilisateur définit la couleur = Rouge, Image = Img.gif, Texte = Hi sur Form2, , alors la TextBox sur Form1 devrait afficher Hi en rouge et une image dans le PicBox en Form1.

Comment les données envoyées forment-elles une forme à une autre?

Répondre

1

Vous pouvez le faire exactement de la même manière que vous attribueriez des valeurs d'une classe à une autre classe.

.: par exemple

var form1=new Form1(); 
form1.SetProps(Red,img.gif,"Hi"); 

Où Form1 a besoin de toute évidence quelque chose comme:

public void SetProps(color c, ...) 

Vous obtenez le point.

Une meilleure façon d'y parvenir, en particulier avec des formes a un constructeur dans form2 qui reçoit les arguments de Form1 et l'appelant avant de fermer Form1:

-à-dire dans Form2:

var form1 = new Form1(Red,img.gif,"Hi");  
this.Close(); 
form1.Show(); 

(ne m'apporte pas sur la syntaxe ..)

0

Cela pourrait être fait de plusieurs façons. L'un d'eux pourrait être de passer un objet en paramètre dans le constructeur de Form2. Cet objet pourrait être une classe avec des propriétés pour stocker les valeurs collectées par Form2. Comme l'objet sera transmis en tant que référence de l'application à Form2, l'application disposera de ces valeurs dès que Form2 les aura mises à jour.

Une autre façon pourrait être d'ajouter certaines propriétés publiques à Form2 pour stocker les valeurs collectées par Form2. Comme Form2 est créé et référencé par l'application, l'application doit avoir accès à ces propriétés tant qu'elle reste référencée Form2.

Une fois que l'application a les valeurs de From2, elle peut facilement passer à l'autre forme.

Questions connexes