c#winforms子表单加载问题

c#winforms子表单加载问题,c#,winforms,C#,Winforms,我有一个基于对话框的应用程序 我需要显示这样的子窗口: (1) 首先,将显示应用程序的主对话框窗口 (2) 然后,子对话框窗口将自动显示在该窗口的顶部 您知道,仅在父窗口的构造函数或加载事件中调用子窗口的ShowDialog(),是不够的。因为在这些情况下,子窗口将首先出现 我应该怎么做才能做到这一点?使用可以使用主对话框中显示的事件,将子对象显示在主对话框前面。当第一次显示主对话框时,此事件仅引发一次。您还应该使用Show()方法(而不是ShowDialog),然后调用子对话框的BringTo

我有一个基于对话框的应用程序

我需要显示这样的子窗口:

(1) 首先,将显示应用程序的主对话框窗口

(2) 然后,子对话框窗口将自动显示在该窗口的顶部

您知道,仅在父窗口的构造函数或加载事件中调用子窗口的
ShowDialog()
,是不够的。因为在这些情况下,子窗口将首先出现


我应该怎么做才能做到这一点?

使用可以使用主对话框中显示的事件,将子对象显示在主对话框前面。当第一次显示主对话框时,此事件仅引发一次。您还应该使用Show()方法(而不是ShowDialog),然后调用子对话框的BringToFront()

private void OnShown(EventArgs e) {
  ChildDialog child = new ChildDialog();
  child.Show(this);
  child.BringToFront();
}

ShowDialog会有什么问题?您可以使用ShowDialog,但是子对话框显示为模块化。也许这对你很好。