var diag = new Dialog(); diag.show(); 弹出一个子窗体,如何在子窗体中调用父窗体的函数?

2024-12-06 08:18:02
推荐回答(4个)
回答1:

  1. 用GetParent()获取父窗口指针。

  2. 设你主对话框类为CMyDialog。

  3. CMyDialog *pDlg = (CMyDialog *)GetParent()->GetParent()。

  4. pDlg->函数或变量。

  5. 第一个GetParent()获取的是tab control指针,再通过tab control获取主对话框指针。

  6. 然后就可以对对话框操作在子窗体中调用父窗体中函数。

  1. 比如父窗体是form1,子窗体form2

  2. 子窗体中:

    From faFrom;

    public Form2(From f)

    { faForm = f;

    InitializeComponent(); }

  3. 父窗体

    private void button1_Click(object sender, EventArgs e)

    {

    Form2 f = new Form2();

    f.getForm(this);

    f.show();

    }

  4. 之后就可以通过对faForm操作,从而控制父窗体。

回答2:

通过window.operner来访问
例如:window.operner.test();可以访问父窗体的test()

回答3:

可以在子窗体中创建一个父窗体的对象

回答4:

这个问题解决了么??能给我个答案么???