C# Formの操作
Form2 form2 ; // 子 Form
Form3 form3 ; // 子 Form
private void button1_Click(object sender, System.EventArgs e)
{
form2 = new Form2() ;
this.AddOwnedForm(form2) ; // 親 Form が form2 を所有する
form2.Show() ;
}
private void button2_Click(object sender, System.EventArgs e)
{
form3 = new Form3() ;
this.AddOwnedForm(form3) ; // 親 Form が form3 を所有する
form3.Show() ;
}
上記のようにボタン一つに対して1つのFormに対する処理をするのではなく,ボタン1つに対して
複数のFormを処理する.つまり
例えば,Form1,2,3とあったとして,Form1のボタンを押してFrom2を開き,そこで何らかの処理を
したものをForm1に反映する.または,From3のボタンを押してForm2を開きそこで何らかの処理を
行いForm3に反映する.
この場合,Form1とForm3のどちらのFormのボタンが押されたか判断しないといけないと思うのですが,ここの処理がうまくいきません.
どちらかのFormのボタンを押してForm2を表示し,どちらかのFormに反映させる所までは出来たのですが,両方の判断材料を入れて,どちらのFormのボタンを押されたか判断する際に,押されなかった方が「null」となりエラーになります.
下記にこの判断部分を掲載いたします.どなたかご教授よろしくお願いいたします.
Form1
public int but = 0;
public int butt1;
public string DB;
public string HDB;
public Form2 f2 = null;
private void mybutton1_Click(object sender, EventArgs e)
{
butt1 = 1;
・
・
・
public int Ye=0;
private void button43_Click(object sender, EventArgs e)
{
butt1 = 0;
From2
public partial class Form2 : Form
{
Form1 f1;
Form3 f3;
public Form2(Form1 f)
{
f1 = f; // メイン・フォームへの参照を保存
InitializeComponent();
}
public Form2(Form3 f)
{
f3 = f; // メイン・フォームへの参照を保存
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
#region
int Pin1 = f1.butt1;
int Pin3 = f3.butt3;
Form3
Form1と基本的には同じです.