2011-05-09 56 views
2

当我执行此代码:显示“父”的形式在正常状态下

this.WindowState = FormWindowState.Minimized; 
_fullscreenForm.Show(); 
_fullscreenForm.Focus(); 

我得到最小化当前窗口和_fullscreenForm创建最小为好。我应该如何在正常状态下显示它?

UPDATE

很显然,我已经尝试添加_fullscreenForm.WindowState = FormWindowState.Maximized;并不起作用。

更新2

不,我们不能改变最小化当前的形式,另一种的外观,因为会有这些行之间的一些工作秩序,所以我们实际上需要:

  1. 隐藏当前的形式
  2. 做了一些工作
  3. 显示与结果
另一种形式

答案

的形式出现在VS窗口的后面,所以我们需要Activate()它。

+0

您可以发布这个应该发生的事件吗? 'this'和'_fullscreenForm'之间有什么关系。还有,你试图设置'_fullscreenForm.WindowState'属性为'FormWindowState.Normal' ??你得到什么,你想得到什么。 – ja72 2011-05-09 03:18:02

+0

@ ja72:呃,事件?我需要在我的代码被调用后显示_fullscreenForm。我最小化了_fullscreenForm(正如我在我的Q中所说的)。 “这和_fullscreenForm之间有什么关系?” - 它有多重要? '_fullscreenForm'只是当前表单的私有属性。 – zerkms 2011-05-09 03:19:32

回答

1

在最小化当前表单之前尝试显示_fullscreenForm

_fullscreenForm.Show(); 
this.WindowState = FormWindowState.Minimized; 
_fullscreenForm.WindowState = FormWindowState.Normal; 
_fullscreenForm.Focus(); 

编辑:

与你原来的代码,尝试

this.WindowState = FormWindowState.Minimized; 
_fullscreenForm.Show(); 
_fullscreenForm.TopMost = true; 
_fullscreenForm.Focus(); 
+0

此代码为我们提供了另一个工作流程:* show * - * hide *。但我严格按照我所描述的顺序来使用它:1)我们隐藏表单2)我们做一些有用的工作3)我们用结果显示另一个表单。 – zerkms 2011-05-09 03:23:55

+0

@zerkms当你运行你的原始代码时,'_fullscreenForm'在当前窗体被最小化之后正常显示,但如果你运行了视觉模块,窗体就在它后面。在尝试之前尝试最小化VS。 – 2011-05-09 03:28:19

+0

@zerkms尝试'_fullscreenForm.TopMost = true;'看我的编辑 – 2011-05-09 03:31:42

0

这是因为Windows负载从最小化的程序新视窗也降到最低。因此,只需设置的_fullscreenFormMaximizedNormal,之后Show()

+0

我不需要它*最大化*,我需要它的正常大小。 – zerkms 2011-05-09 03:18:59

+0

然后我相信你打开这个孩子的形式,然后不能最大限度地单独使用。你必须将它从主窗体中分离出来。 – ariel 2011-05-09 03:20:00

+0

什么是“儿童形式”?我可以用鼠标将它带回屏幕,点击任务栏。 – zerkms 2011-05-09 03:21:06