我当前正在使用Process.Start("C:\\Some\\Path")
为用户打开一个文件夹。
由于调用表单的TopMost
属性设置为true,因此即使用户与新窗口进行交互,新窗口也会显示在该表单的后面,并且仍保留在该表单的后面。
如何定义此新窗口,以便将其TopMost
属性设置为true?否则,还有另一种方法可以将该窗口置于顶部吗?
我经历了Process的许多不同属性,寻找可以将TopMost设置为true的东西,或其他可能具有相同效果的属性。
我在命令行中找不到与资源管理器一起使用的任何选项,这些选项可以强制窗口位于顶部,并且可以用作参数。
答案 0 :(得分:0)
正如评论中所建议的那样,最好的方法是完全避免使用TopMost属性。
确保对话框显示在主(或父)窗体顶部的另一种方法是将父窗体标识为子窗体。可以通过在this
方法调用内使用ShowDialog()
关键字来完成。
在C#中:
someForm.ShowDialog(this)
在Visual Basic中:
someForm.ShowDialog(me)
这会将this
表单标识为新对话框的父级,这将导致新表单比方法调用中使用this
的 not 更可靠地显示在顶部,而无需使用TopMost
属性,这可能会导致其他意外问题。
这解决了该故障单中标识的问题,其中与当前程序无关的窗口出现在程序中创建的对话框的后面。