0

自定义有没有办法UserControl将应用程序的主窗体放在前面?

基本上,我正在与一些第 3 方库集成,每次我调用它们时,应用程序都会被置于其他所有内容之前。我想让自定义控件请求主窗体将自己重新置于一切之上。

我曾考虑从主窗体中捕获Leave事件,但这似乎不是一个好主意。

程序层次结构...

MainForm > TabControl > TabPages[] > each as a Custom UserControl

我宁愿不必让父母或孩子知道对方(除非这是推荐的做法)。我的正常开发是基于 Web 的,因此谁与谁交谈以及 Windows 窗体应用程序的正确设计对我来说仍然是新事物。

4

1 回答 1

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()
于 2012-10-16T23:25:23.947 回答