C# vs窗体,在窗体加载时显示隐藏窗体

C# vs窗体,在窗体加载时显示隐藏窗体,c#,winforms,C#,Winforms,(.net 3.5紧凑型) 我有一个隐藏的表格(b)。 当我打开我的新表单(a)时,我想显示这个隐藏的表单(b) 如果我在表单(a)上创建一个按钮,并在单击事件上执行.Show(),则它可以正常工作 如果我将ff添加到load事件中,表单不会出现在前面并保持隐藏状态;但是表格并没有出现在最前面 reg.frmScanner.Show(); 我在这里读过最小化技巧,但是在移动设备上没有最小化功能您需要创建一个formreg.frmScanner的实例。需要时使用reg.frmca

(.net 3.5紧凑型) 我有一个隐藏的表格(b)。 当我打开我的新表单(a)时,我想显示这个隐藏的表单(b)

如果我在表单(a)上创建一个按钮,并在单击事件上执行.Show(),则它可以正常工作

如果我将ff添加到load事件中,表单不会出现在前面并保持隐藏状态;但是表格并没有出现在最前面

        reg.frmScanner.Show();

我在这里读过最小化技巧,但是在移动设备上没有最小化功能

您需要创建一个form
reg.frmScanner
的实例。需要时使用
reg.frmcanner.Hide()
隐藏它。使用
reg.frmcanner.Show()
显示它。
如果在不创建表单实例的情况下直接调用表单,则无法获得所需的显示/隐藏结果。

要使表单处于前台,请使用

reg.frmScanner.TopMost = true;

我正在创建一个实例,这不是问题所在,表单在那里,只是在后台,需要在另一个表单加载的前台尝试BringToFront()方法。请注意,这是一个强烈的提示,表明表单是在工作线程上创建的。与使用情况相匹配,“扫描器”倾向于在后台线程上生成事件。这是不健康的,请确保使用BeginInvoke(),以便所有UI都在主线程上创建。谢谢,工作起来很有魅力,我按照您的建议执行form.show和form.TopMost,并且工作正常!