日期:2014-05-17  浏览次数:20879 次

C# 多个窗体之间查找控件
1.在Form5 中 放一个分隔Panel,加载的时候显示一个窗体在里面:
private void Form5_Load(object sender, EventArgs e)
        {
            Form55 myfrom = new Form55();
            this.splitContainer1.Panel2.Controls.Clear();
            myfrom.TopLevel = false;
            this.splitContainer1.Panel2.Controls.Add(myfrom);
            myfrom.Show();
        }
2. 在Form55 窗体中,增加一个按钮,用来查找到splitContainer这个,然后再另外一个分隔页面中添加另一个窗体。
private void button1_Click(object sender, EventArgs e)
        {
           // Form myform = this.Parent.FindForm();
             // Form myform = (Form)this.FindForm().Parent.FindForm();
            //Form myform = this.ParentForm();
           // Label myLabel = this.Parent.FindForm().Controls.Find("label1",true)[0] as Label;
           // Label myLabel = this.Parent.FindForm().Controls.Find("label1", true)[0] as Label;
           // myform.Text = "MY Form";
          //  myLabel.Text = "test mylabel";
           // Form myform = this.Parent.FindForm();//上一级窗体的Form
            showForm();
        }
        private void showForm()
        {
            Form3 form3 = new Form3();
            form3.TopLevel = false;
            SplitContainer splitContainer = this.Parent.FindForm().Controls.Find("splitContainer1",true)[0]  as SplitContainer;
            splitContainer.Panel1.Controls.Clear();
            splitContainer.Panel1.Controls.Add(form3);
            form3.Show();
        }