|
分類:[C#]
Form1もForm2もForm3もクラスです。クラス間で値を渡すにはどうすれば良いでしょう?
値取得先クラスで、値取得元クラスのインスタンスへの参照を得ている(つまり値を取得しようとしているクラスから、値取得元クラスを見に行ける)状態で、値取得元クラスにおいて、その値を取得したい変数が、public宣言されているとか、プロパティで公開されていれば、その値を得ることができます。
では値取得先クラスで、値取得元クラスのインスタンスへの参照をどうやって得るのか? それは、値取得元クラスから値取得先クラスをインスタンス化する際に(つまり、フォームを開く際に)、そのコンストラクタの引数に自分自身のインスタンス(this)を渡してあげます。
以上が基本です。上の説明では値取得と書きましたが、逆に値セットも全く同様です。要は、相手のクラスの参照を得ていて(インターネットに例えればサイトのURLがわかっていて)、かつ、そのクラスの変数が外部から操作可能(インターネットに例えれば、そのサイトで操作権限あり)であれば良いわけです。
#久々にメタファ使ったw
|