2009-05-06 12 views

Répondre

0

En supposant que formB est initialisé dans formA je recommanderais d'ajouter une chaîne au constructeur de formB envoyant le Texbox1.Texte

comme dans

class formB: Form{ 
    private string data; 
    public formB(string data) 
    { 
     InitializeComponent(); 
     this.data = data; 
    } 
    //rest of your code for the class 

} 
2

Vous pouvez exposer une propriété sur un formulaire et l'appeler depuis l'autre. Bien sûr, vous aurez besoin d'un moyen d'obtenir l'instance de form1. Vous pouvez le conserver en tant que propriété statique dans la classe de programme ou dans une autre classe parente. Habituellement, dans ce cas, j'ai une classe d'application statique qui contient l'instance.

public static class Application 
{ 
public static MyForm MyFormInstance { get; set; } 
} 

Ensuite, lorsque vous lancez la première forme, définissez la propriété application MyFormInstance à l'instance du premier formulaire.

MyForm instance = new MyForm(); 
Application.MyFormInstance = instance; 

Ajoutez une propriété à la deuxième forme.

public String MyText 
{ get { return textbox1.Text; } 
    set { textbox1.Text = value; } 
} 

Et vous pouvez y accéder à partir de votre deuxième formulaire avec:

Application.MyFormInstance.MyText 
+1

D'accord, d'une manière plus facile serait de marquer la propriété Modificateur de la zone de texte en mode public, vous pouvez y accéder directement, mais vous aurez toujours besoin d'un moyen pour se rendre à l'instance . –

1

Sur le formulaire qui a la zone de texte que vous avez besoin de données de, exposer soit une propriété ou une méthode qui renvoie le texte. IE:

internal string TextBoxTest 
{ 
    get{ return this.textBox1.Text;} 
} 
+0

alors comment puis-je appeler cette méthode de la forme que je veux exécuter ma méthode originale? – Goober

0

Ne faites pas cela.

Version plus longue: Pourquoi votre vue interagit-elle directement avec une autre vue?

Une grande version plus longue:

Plutôt que de faire une propriété publique qui expose le terrain, il offrirait une meilleure encapsulation et l'isolation du changement si la forme avec le champ d'intérêt interagi avec une certaine forme d'objet de données, ce qui était puis passé à la méthode intéressée. L'emplacement de la méthode intéressée doit être soigneusement considéré - s'il contrôle des aspects de la vue (WinForm, dans votre cas), alors il peut être un membre de cette classe de façon appropriée - sinon, peut-être que sa vraie maison est en l'objet de données?

1

Il y a un poste similaire here

Les vidéos ci-dessous dégageront un grand nombre de vos concepts sur la transmission des données entre les 2 formes.

Il y a plusieurs façons de transmettre des données entre les 2 formes vérifier ces liens qui a des vidéos par exemple à faire de cette

HTH

Questions connexes