1

我想制作一个 WinForms,让它在很多东西的前面(在 Windows 8 中,它在开始屏幕的前面,甚至让它可以在桌面捕捉时离开桌面)。

例如,Windows 8 中的放大镜 (magnify.exe) 对话框比开始屏幕最重要。

有可能做到这一点(在 VB 或 C# 中)?

此图像是我要求的示例,到目前为止,我没有找到任何 SDK 执行此操作,并且此图像已被编辑(除了放大镜 (magnify.exe) 之外,许多应用程序都没有执行此操作)

http://i.stack.imgur.com/1UxCX.png

选择 :

https://docs.google.com/uc?authuser=0&id=0B0xI21kQ3jxrLWw4cll6X3NJSTA&export=download

4

1 回答 1

1

您可以通过调用使表单模态Form.ShowDialog()

不要忘记Form.DialogResult在您的模态表单上进行相应设置。

一个简单的示例可能如下所示:

Form f = new Form();
f.ShowDialog(this);

另一个选项是将表单的TopMost属性设置为 true。

最后,您有一个Modal属性,它将阻止所有其他无模式形式的点击或键盘事件。

但鉴于 WinForms 是一个桌面应用程序,您将能够在 Windows 8 的桌面上显示它,但不能在新的 Metro 界面中显示它。

于 2014-08-18T07:27:58.463 回答