Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在行动中展示形式_C#_.net_Winforms - Fatal编程技术网

C# 在行动中展示形式

C# 在行动中展示形式,c#,.net,winforms,C#,.net,Winforms,许多应用程序打开时只显示顶部工具栏,一旦创建或打开新项目,窗口的其余部分就会被填满。这种行为是如何产生的?它是否使用隐藏元素,或者主窗体中是否存在要加载的窗体 我目前正在构建一个应用程序,它可以从日志文件构建各种图表。目前情况有点混乱,我希望有规律的windows行为,以便其他人可以在我的应用程序中找到解决方法,因为事情变得越来越复杂。目前,我的应用程序打开时有很多按钮,在某些事情加载/完成之前,这些按钮甚至不起作用 -编辑- 我很难变得更清楚。我想要的是: 仅使用顶部工具栏启动应用程序 一旦

许多应用程序打开时只显示顶部工具栏,一旦创建或打开新项目,窗口的其余部分就会被填满。这种行为是如何产生的?它是否使用隐藏元素,或者主窗体中是否存在要加载的窗体

我目前正在构建一个应用程序,它可以从日志文件构建各种图表。目前情况有点混乱,我希望有规律的windows行为,以便其他人可以在我的应用程序中找到解决方法,因为事情变得越来越复杂。目前,我的应用程序打开时有很多按钮,在某些事情加载/完成之前,这些按钮甚至不起作用

-编辑-

我很难变得更清楚。我想要的是:

  • 仅使用顶部工具栏启动应用程序
  • 一旦项目被加载,窗口就会被填充。目前我所有的东西,如图表和按钮都已经在那里了。我希望这些在项目加载后显示。与Photoshop一样,它只使用顶部工具栏打开,一旦打开或创建新文件,它就会在主窗口中打开一个新的“字段”。这个字段是什么?它是一个窗体还是一个在打开文件时被取消隐藏或创建并填充的区域
    • 这些被称为MDI()

      您只需在
      表单上设置
      IsMdiContainer

      然后只需创建一个新表单,并将
      mdipradent
      设置为父表单:

      YourMdiForm yourMdiForm = new YourMdiForm();
      yourMdiForm.MdiParent = this;
      yourMdiForm.Show();
      

      这些被称为MDI应用程序。多文档界面,很好,我有一些阅读要做。谢谢,仍然欢迎提供更多的提示。当问题重新打开时,我将发布一个答案。@PatrickHofman rebooted:)感谢您重新打开,尽管命名MDI的注释已经帮了我很多忙。在加载父-子对象之前,我有这个弹出窗口。有没有一种快速的方法可以调用父窗体来设置MDIPRENT,或者我必须通过弹出窗体引用它?@MennoGouw:the'parent-child'。这让人困惑。。。您在实例化它的表单中设置了
      mdipparent
      。Errr抱歉,我指的是父表单。当我按下new时,它会加载一个单独的弹出窗体,用户可以在其中键入项目名称等。在这里,我打开主窗口的子窗口。目前,我将主/父窗体作为对弹出窗体构造函数的引用传递,以便可以设置它创建的子窗体的正确父窗体(因为我不能在那里使用“this”)。我想知道是否有一种简单的方法可以访问父类,因为我可以想象,当不在父类中时,需要多次这样做,所以“this”不能使用。@MennoGuow:我不确定,但是当您使用
      ShowDialog
      打开第二个对话框时,可能在对话框窗体上设置了父窗体。你可以用这个。听起来对Ninject或其他国际奥委会来说是个好工作。您可能只将
      IMyMainForm
      绑定到主MDI表单(容器),子表单将通过构造函数自动注入,类似于:
      公共子表单(IMyMainForm)
      。你也可以考虑工厂模式。