自定义UserControl
是否有办法将应用程序的主窗体带到前面?
基本上我正在与一些第三方库集成,每次我称之为应用程序都被带到其他所有的前面。我希望允许自定义控件请求主表单将其自身重新放在所有内容之上。
我曾考虑从主窗体中捕获Leave
事件,但这似乎不是一个好主意。
程序层次结构......
MainForm > TabControl > TabPages[] > each as a Custom UserControl
我宁愿不必让父母或孩子知道对方(除非这是推荐的做法)。我的正常开发是基于网络的,所以谁在谈论谁和Windows Forms应用程序的正确设计对我来说仍然是新的。
答案 0 :(得分:2)
你可以尝试
Application.OpenForms[0].Activate() // or BringToFront()
但请记住,在使用Main
方法启动主表单之前,您应该有任何已打开的表单:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// do not open any forms here
Application.Run(new MainForm());
如果你真的需要在主表单之前打开一些表单,那么这将是:
Application.OpenForms["MainForm"].Activate()