如何从第三个窗体打开一个窗体到面板?

苗族旧名Y

看来我采用了一种不同的结构设计方式。我的项目有3个主要表单(表单父表单,表单菜单和子表单)。

父级的左侧面板包含菜单表单,另一个左侧的面板包含子表单。

工作方式:

父窗体将在左侧面板中打开菜单窗体。当菜单显示在左侧面板上时,单击菜单应在主面板中打开一个子级。(两个面板都是父表单)。

打开菜单:

public Home()
{
    InitializeComponent();
    panelmenus.Controls.Clear();
    frmmenus menu = new frmmenus();
    menu.TopLevel = false;
    menu.Dock = DockStyle.Fill;
    panelmenus.Controls.Add(menu);
    menu.Show();
}

单击菜单以在主面板中打开另一个子级:

 private void btnsetting_Click(object sender, EventArgs e)
{
    Forms.frmEmployee employee = new Forms.frmEmployee()
    {
        Dock = DockStyle.Fill,
        TopLevel = false,
    };
    Home main = new Home();
    main.pncontainer.Controls.Add(employee);
    employee.Show();
}

有可能这样做吗?因为我已经来过这种方式。

如果还有其他方法可以解决此问题,请给我。

我花了几个小时解决这个问题。

非常感谢大家。

闲置心智

这是一种可能的方法。

您实例父级frmmenus将是一个面板。从该面板中,您可以调用FindForm()以获得对主Home实例的引用接下来,您可以使用Controls.Find()搜索名为“ pncontainer”的面板。从那里,只需清除面板并向其中添加所需的表单实例即可:

private void btnsetting_Click(object sender, EventArgs e)
{
    frmEmployee employee = new frmEmployee()
    {
        Dock = DockStyle.Fill,
        TopLevel = false,
    };


    Form frm = this.Parent.FindForm();
    Control match = frm.Controls.Find("pncontainer", true).FirstOrDefault();
    if (match != null && match is Panel)
    {
        Panel p = (Panel)match;
        p.Controls.Clear();
        p.Controls.Add(employee);
        employee.Show();
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

打开一个窗体作为子窗体

来自分类Dev

在窗体上方打开另一个窗体后如何关闭窗体

来自分类Dev

将清单从第一个活动传递到第三个活动

来自分类Dev

通过AsyncTask将值从第一个活动传递到第三个活动

来自分类Dev

Excel:一个月的第三个星期三

来自分类Dev

如何使第二个活动中的按钮打开第三个活动?

来自分类Dev

如何基于另一个列表中的项目从嵌套列表中创建第三个列表

来自分类Dev

如何计算一个月中的星期日并选择第三个?

来自分类Dev

如何使用BeautifulSoup从表中获得第一个和第三个td?

来自分类Dev

如何从具有可选第三个参数的另一个函数调用函数?

来自分类Dev

如何获取第一个查询的ID并将其用于第三个查询?

来自分类Dev

如何从两个DataGridViews中获取数据到第三个DataGridView中?

来自分类Dev

元素的总和到第三个数组

来自分类Dev

从另一个窗体打开新的Windows窗体

来自分类Dev

Python:一个月的第三个星期五

来自分类Dev

显示每个数组的第一个和第三个值

来自分类Dev

显示每个数组的第一个和第三个值

来自分类Dev

从第一个表格中调用第三个表格

来自分类Dev

选择具有第一个条件的第三个表 [SQL]

来自分类Dev

看不到第三个div。溢出另一个

来自分类Dev

使用依赖注入在Windows窗体中打开一个新的参数化窗口

来自分类Dev

如何使从另一个窗体视图打开的窗体视图在odoo中只读

来自分类Dev

如何从另一个仍打开的窗体中检测何时关闭窗体?

来自分类Dev

如何使从另一个窗体视图打开的窗体视图在odoo中只读

来自分类Dev

如何获取Exception OSError的第三个参数?

来自分类Dev

如何遍历第三个变量?

来自分类Dev

如何从第三个字段打印CSV

来自分类Dev

如何为第三个值创建循环?

来自分类Dev

如何获取Exception OSError的第三个参数?

Related 相关文章

  1. 1

    打开一个窗体作为子窗体

  2. 2

    在窗体上方打开另一个窗体后如何关闭窗体

  3. 3

    将清单从第一个活动传递到第三个活动

  4. 4

    通过AsyncTask将值从第一个活动传递到第三个活动

  5. 5

    Excel:一个月的第三个星期三

  6. 6

    如何使第二个活动中的按钮打开第三个活动?

  7. 7

    如何基于另一个列表中的项目从嵌套列表中创建第三个列表

  8. 8

    如何计算一个月中的星期日并选择第三个?

  9. 9

    如何使用BeautifulSoup从表中获得第一个和第三个td?

  10. 10

    如何从具有可选第三个参数的另一个函数调用函数?

  11. 11

    如何获取第一个查询的ID并将其用于第三个查询?

  12. 12

    如何从两个DataGridViews中获取数据到第三个DataGridView中?

  13. 13

    元素的总和到第三个数组

  14. 14

    从另一个窗体打开新的Windows窗体

  15. 15

    Python:一个月的第三个星期五

  16. 16

    显示每个数组的第一个和第三个值

  17. 17

    显示每个数组的第一个和第三个值

  18. 18

    从第一个表格中调用第三个表格

  19. 19

    选择具有第一个条件的第三个表 [SQL]

  20. 20

    看不到第三个div。溢出另一个

  21. 21

    使用依赖注入在Windows窗体中打开一个新的参数化窗口

  22. 22

    如何使从另一个窗体视图打开的窗体视图在odoo中只读

  23. 23

    如何从另一个仍打开的窗体中检测何时关闭窗体?

  24. 24

    如何使从另一个窗体视图打开的窗体视图在odoo中只读

  25. 25

    如何获取Exception OSError的第三个参数?

  26. 26

    如何遍历第三个变量?

  27. 27

    如何从第三个字段打印CSV

  28. 28

    如何为第三个值创建循环?

  29. 29

    如何获取Exception OSError的第三个参数?

热门标签

归档