マルチページ相互制御


最近のマルチページのコントロールに腹を立てました.次の方法で、あるwinformで別のwinformを制御するコントロールを実現できます.
例えば、今また2つのウィンドウがあります.各ウィンドウにはbuttonがあります.最初のウィンドウのボタンは2番目のウィンドウを開くことができます.2番目のウィンドウが開いた後、その中のbuttonを通じて1番目のウィンドウのボタンを失効させます.まず最初のbuttonのmodifiesをpublicに変更します.
 
コードは次のとおりです.
最初のウィンドウ:
   
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 frm2 = new Form2(this);
            frm2.Show();
        }
    }

 
2番目のウィンドウ:
 
 private Form1 frm;
        public Form2(Form1 form1)
        {
            frm = form1;
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            frm.button1.Enabled= false;
        }

 
これにより、ウィンドウ2のボタンにより、ウィンドウ1のボタンを失効させることができる.
この方法はネットユーザーの方法を参考にした.