当前位置: 首页 > 知识库问答 >
问题:

如何调用MDI主父级内的方法或函数我需要在类上实例化一个窗体,新实例父级应该是主父级吗?

谢俊英
2023-03-14

//MdiParent  mainparent.cs

        public static void lodforweb()
        {

            frm_webcs frmload_webcs = new frm_web
            {
                MdiParent = this
            };

            frmload_webcs.Show();

        }

//Context menu class  

//Cl_contextmenu.cs


    public bool OnContextMenuCommand()
        {
            if (commandId == (2020)
            {
             mainparent.lodforweb();
                return true;
            }

        }
}

//使用静态方法//实例化时遇到“this”问题也不起作用。

共有1个答案

饶高雅
2023-03-14

从评论中:

右键单击子窗体上下文菜单弹出窗口后。我想生成另一个子表单,并且应该是mainparent的子表单

评论还提供了:

private void childform_Load(object sender, EventArgs e) {
    cl_chromebrowser urload = new cl_chromebrowser(); 
    panel1.Controls.Add(urload.choniumeload("www.site.com")); 
    urload.chromebrowser.MenuHandler= new cl_contexmenu();
}

所以你的子表单叫做“子表单”。添加一个静态成员,该成员保存对MDI父级的引用,并在Load()事件中进行设置:

public static Form MyMdiParent;

private void childform_Load(object sender, EventArgs e)
{
    // ... your existing code from above ...

    childform.MyMdiParent = this.MdiParent;
}

现在,您可以直接从关联菜单中使用该MDI父级:

public bool OnContextMenuCommand()
{
    if (commandId == 2020)
    {
        if (childform.MyMdiParent != null)
        {
            childform.MyMdiParent.Invoke((MethodInvoker)delegate ()
            {
                frm_webcs frmload_webcs = new frm_webcs();
                frmload_webcs.MdiParent = childform.MyMdiParent;
                frmload_webcs.Show();
            });
        }
    }
    return true;
}
 类似资料:
  • 我有一些关于“级联”的问题,在我的项目中,我有类别类,每个类可以是父类或子类。但我在同一个类中定义了哪一个是父母还是孩子。父母和孩子之间存在一对多的关系。这是我的实体类 我的问题是;当我删除子类别时,它的成功并没有问题。如果父类别有子类别,则无法删除父类别。 错误消息; Servlet.service()的servlet[调度Servlet]在上下文中与路径[]抛出异常[请求处理失败;嵌套异常or

  • 我有两个组成部分: 父组件 子组件 我试图从Parent调用child的方法,我尝试了这种方法,但无法得到结果: 有没有办法从父级调用子级的方法? 注意:子组件和父组件在两个不同的文件中。

  • 问题内容: 我有两个组成部分。 父组件 子组件 我试图从父级调用孩子的方法,我尝试过这种方法,但没有得到结果 有没有一种方法可以从父级调用子级的方法? 注意:子组件和父组件位于两个不同的文件中 问题答案: 首先,让我表示,这通常 不是 在React领域中解决问题的方法。通常,您要做的是将功能传递给道具中的子代,并传递事件中的子代的通知(或者更好的是:)。 但是,如果 必须 在子组件上公开命令式方法

  • 问题内容: 我有两个组成部分。 父组件 子组件 我试图从父级调用孩子的方法,我尝试过这种方法,但没有得到结果 有没有一种方法可以从父级调用子级的方法? 注意:子组件和父组件位于两个不同的文件中 问题答案: 首先,让我表示,这通常不是在React领域中解决问题的方法。通常,您要做的是在props中将功能传递给子级,并在事件中传递子级的通知(或者更好的是:)。 但是,如果必须在子组件上公开命令式方法,

  • 问题内容: public class A{ private int getC(){ return 0; } } 您能告诉我是否有可能通过java中的反射来做一些吸引人的事情吗? 问题答案: class A{ 编辑:这是一个安静的老帖子,但增加了一些建议 重新考虑您的设计 调用父方法的私有方法,虽然可以通过反射实现,但是不应该这样做。在父对象上调用私有方法可能会使类处于无效状态,并可能导致意外行为。

  • 在我的jpa映射中,我试图将带有一个主键的父类映射到带有复合键的子类,但似乎插入了错误的表,它已经生成了2个表,但不幸的是我没有绑定外键(policy_value_summary_id) 我试图用策略值(子类)保存策略摘要值(父),如下所示 下面是输出给我的错误