日期:2014-05-18  浏览次数:21411 次

子窗体间控件访问的问题
我现在用weifenluo的dockpanel suite做了一个界面:
form1是主窗体,form2,form3是子窗体.都是在form1中创建的
form2上有一个button,form3上有一个textbox,如何实现form2的按钮点一次,form3的textbox的数值加一。
我现在的问题是在form2的按钮点击事件中怎么访问form3的textbox控件

------解决方案--------------------
C# code

//1.在Form2中定义一个事件:
         public event EventHandler OnMybuttonClik;
//2.在Form2的按钮事件中触发它:
        private void button1_Click(object sender, EventArgs e)
        {
            if (OnMybuttonClik != null)
            {
                OnMybuttonClik(sender,e);
            }
        }
//3.在Form3中定义一个方法:
        public void Mybutton_Click(object sender, EventArgs e)
       {
            string str= this.textBox1.Text;
            int num = int.Parse(str);
            ++num;
            this.textBox1.Text = num.ToString();
        }
//4.在Form1中这样显示Form2和Form3:
        private void Form1_Load(object sender, EventArgs e)        
        {
            Form2 form2 = new Form2();
            Form3 form3 = new Form3();
            form2.OnMybuttonClik += new EventHandler(form3.Mybutton_Click);
            form3.Show();
            form2.Show();
        }

------解决方案--------------------
楼上正解啊,用委托最方便了,接分了