Я согласен с Мартином, что решение такого типа добавит ненужную связь, но если вы все еще настаиваете на том, чтобы оно было связано таким образом, я думаю, что использование простого указателя поможет.
class Form1 {
public int i;
public void doSomething(){
Form2 f = new Form2(&i);
f.showDialog();
}
}
Тогда в Form2 вы просто работаете с этим указателем.
class Form2 {
public int *i;
public Form2(int *r){
InitializeComponent();
i = r;
}
public void setI(int v){
*i = v;
}
public int getI(){
return *i;
}
}
Не забывайте помнить об управлении памятью.