我有两个窗体 MainForm 和 MinimizedMainForm。我想为这两种形式禁用 Windows+D。两种形式的父级都是第三种形式 FormBase。我使用以下代码禁用 Windows+D
private const in GWL_HWNDPARENT =-8
IntPtr hprog = NativeMethods.FindWindowEx(NativeMethods.FindWindowEx(NativeMethods.FindWindow("Progman", "Program Manager"),
IntPtr.Zero, "SHELLDLL_DefView", ""),
IntPtr.Zero, "SysListView32", "FolderView");
NativeMethods.SetWindowLong(this.Handle, GWL_HWNDPARENT, hprog);
我面临的问题是,如果按 Win+D,我的 MainForm 永远不会被最小化。对于 MinimizedForm 的首次启动,如果我按 Win+D,它不会被最小化。但是如果我按 Win+D ,第二次 + 加载最小化的MainForm ,表单会被最小化。我在两个表单的 FormLoad 事件上添加了上面的代码。当我单击 MainForm 上的面板时打开 MinimizedMainForm,反之亦然。MainForm 是我项目的起始形式。
我应该怎么做才能阻止表单最小化 2nd+ loadForm 事件?