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

关于子窗体调用父窗体函数问题
请教各位大侠个问题,我有一个MainFrm 和通过MainFrm窗口菜单弹出一个ChildFrm;现在问题是ChildFrm窗口中的一个按钮调用MainFrm窗口中的一个IniCon函数(为初始化MainFrm上一个控件的函数),若按钮采用MainFrm dlg=new MainFrm();
dlg.IniCon();
的写法,需要加载MainFrm其他的加载项(MainFrm在初始化时还需要加载大量的数据的),则会显得很慢,有什么好的解决方法吗?

------解决方案--------------------
http://bbs.csdn.net/topics/360140208
------解决方案--------------------
重载一个构造函数就行了。
MainFrm dlg=new MainFrm(this);
------解决方案--------------------

        private void button1_Click(object sender, EventArgs e)
        {
            FrmOne dlg = new FrmOne(this);
            dlg.ShowDialog();
        }
        public void ShowMsg(string msg)
        {
            MessageBox.Show(msg);
        }

/////////////////////////////////////////////////////////////

        public FrmOne(Form1 form1)
        {
            InitializeComponent();

            this.form1 = form1;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.form1.ShowMsg(typeof(FrmOne).Name);
        }

------解决方案--------------------
别忘记定义这个:        

private Form1 form1;
------解决方案--------------------