我正在制作一个资源管理器类型的应用程序,并使用
this教程中的代码在
TreeView
和 ListView
中显示文件、文件夹和驱动器,并且一直在使用它。
现在,我正在为
ContextMenuStrip
创建 ListView
,并且我已经解决了大部分问题。 (创建新文件、文件夹、zip 等)
但是,我似乎不知道如何打开一个 非模态窗口。
我尝试使用
ShellExecute
打开属性窗口,效果很好 - 除了父级 Form
仍然可以访问。 (例如,我可以通过单击它来恢复焦点。)
当使用
Form
打开普通 ShowDialog()
时,它会阻止与父级 Form
的任何用户交互,直到将其关闭。我希望属性窗口具有相同的行为。
我希望我的问题很清楚:)
我测试过,通过ShellExecute打开文件属性窗口的方式在Win11上完全无法使用,我很好奇为什么网上到处都是答案,完全错误。使用“SHObjectProperties”API 将解决这个问题,虽然 MSDocs 提到该 API 可能很快就会被删除,但至少现在是可用的。 (2024/3/28)
这是一个例子: github.com/OrgEleCho/CurvaLauncher/blob/main/src/CurvaLauncher/Apis/CommonApi.cs