メモ:C#:フォームの参照をほかのクラスに渡す こっちのほうがよさそう
tama-game.hateblo.jp
この上の記事よりもいい方法見つけたのでメモっときます
メインフォーム側で代入するのではなく、コンストラクタでフォームの参照を渡してしまえばいいのです。オブジェクト指向だとカプセル化する方がいいことを最近学んだのでこの方法でやってみました。
・MainForm の参照をClassA にコンストラクタで渡す
// ClassA.cs
private MainForm mainForm;
public ClassA(MainForm mainForm)
{
this.mainForm = mainForm;
}
// MainForm.cs
public partial class MianForm : Form
{
private Class_A clsA;
private void MainForm_Load(object sender, EventArgs e)
{
clsA = new Class_A(this); // コンストラクタの引数で自分自身を渡す!
}
}