J'ai besoin de passer une valeur de chaîne à partir de dans le formulaire Form1 code>:
form2 code>
charger code> Evénement . Par exemple: p>
5 Réponses :
Il suffit de créer une propriété sur la classe Form2 et de la définir avant de montrer le formulaire2.
public void button1_Click(object sender, EventArgs e) { string departmentName = "IT"; Form2 frm2 = new Form2(); frm2.MyProperty = departmentName; frm2.Show(); this.Hide(); }
N'oubliez pas que les formulaires ne sont que des classes comme n'importe quel autre de formulaire 1 p>
Vous ne le faites pas de cette façon. Au lieu de cela, vous pouvez transmettre votre valeur de chaîne sur le constructeur: Les autres intervenants vous ont également dit comment le faire avec une propriété publique. P> P>
Dans le futur, réfléchissez-y de manière plus générique: une forme est juste une classe et l'événement de charge n'est qu'une méthode. p>
Si vous essayiez de passer une valeur comprise entre 2 objets qui n'étaient pas des formulaires, vous auriez une propriété publique dans une classe que d'autres objets pourraient accéder. Ceci est au cœur de la réponse rsbarro em> et ce que j'aime appeler "Les formulaires sont des cours aussi" :) p>
Il y a un moyen plus facile de passer la chaîne public partial class Form_2 : Form
{
public readonly Form1 _form1;
public Form_2(Form1 form1)
{
_form1 = form1;
InitializeComponent();
}
private void Form2(object sender, EventArgs e)
{
_form1.Remark = txtbx_remark.Text;
}// Remark is a string in Form1 ....