Passer des paramètres par référence entre deux Formes

J'ai deux formulaires (Form1 et Form2). Sur Form1, il est un "public int i' variable, qui est fixé à la valeur 1 dans Form1 constructeur.
Puis-je ouvrir Form2 de Form1 avec ce code:

Form2 f2 = new Form2(ref i);
f2.ShowDialog();

Le constructeur de Form2 ressemble à ceci:

public int i;
public Form2(ref int x)
{
    InitializeComponent();
    i = x;
}

Puis j'ai mis la variable i sur Form2 à la valeur 2 et fermer Form2. Maintenant, j'attendrais la variable i sur Form1 pour avoir la valeur 2 (à cause de " ref " mot-clé par passage de paramètres), mais la valeur est toujours 1. Ce que je fais mal et pourquoi est-ref mot-clé ne fonctionne pas dans mon exemple?

Grâce

OriginalL'auteur sventevit | 2009-09-21