关于c#如何获取父窗体控件。

最近由于业务需求,所以开始接触c#。我的项目具体是:一个父类的form1,里面用panel1加载另一个form2。我希望点击form2中的一个按键的时候,可以把form2... 最近由于业务需求,所以开始接触c#。我的项目具体是:一个父类的form1,里面用panel1加载另一个form2。我希望点击form2中的一个按键的时候,可以把form2切换成form3。但是我无法重新获取到panel1这个对象。请问可以用什么办法解决? 展开
 我来答
叱咤风云555
推荐于2018-05-06 · TA获得超过872个赞
知道小有建树答主
回答量:805
采纳率:50%
帮助的人:188万
展开全部

这个可以通过构造函数传参获得。

给你举个例子:

父窗体代码如下:

namespace 获取父类对象

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }


        private void button1_Click(object sender, EventArgs e)

        {          

            Form2 f2 = new Form2(this);

            f2.Show();

        }

    }

}

子窗体代码如下:

namespace 获取父类对象

{

    public partial class Form2 : Form

    {

        public Form1 rec = null;

        //public Form2()

        //{

        //    InitializeComponent();

        //}

        public Form2(Form1 f1)

        {

            InitializeComponent();

            rec = f1;

        }

        private void button1_Click(object sender, EventArgs e)

        {

            rec.Close();

        }

    }

}

chelcf
2013-03-28 · TA获得超过161个赞
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:138万
展开全部
form2中的按钮事件中使用this.Parent as Panel可以获取到父窗口panel1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式