public static class static1 { public static form1 form1; //スタティッククラスのフィールドを用意して、 ------------------------------------- public partial class form1 : Form { public form1() { static1.form1 = this; //各自のインスタンスを各自のコンストラクタで設定しておく ------------------------------------- public partial class CounterForm : Form { public void hoge() { try { Exception er = null; this.Invoke( (MethodInvoker)delegate { //デリゲートせずに外からフォームをいじるとエラーになることがある try { static1.form1.DoSomething(); //スタティッククラスのフィールドを経由すると表示済のものがいじれる } catch( Exception e ) { er = e; } //ちなみにデリゲート内のエラーは外側でキャッチできないので、 } ); if( er != null ) { throw er; } //変数を経由して外側でスローする