从Windows窗体中删除焦点

时间:2012-09-17 12:51:27

标签: winforms

我开发了一个Windows应用程序。每隔5分钟,窗口右下方会显示一个通知表单。如果我在处理notepad / excel时打开通知表单,焦点会自动转移到Windows窗体。我想阻止这种形式的焦点。有没有解决方案?

1 个答案:

答案 0 :(得分:0)

以下代码工作正常..谢谢大家..

[的DllImport( “User32.dll中”)]         public extern static int ShowWindow(IntPtr hWnd,Int32 cmdShow);

    const Int32 SW_SHOWNOACTIVATE = 4;
    const Int32 SWP_NOACTIVATE = 0x0010;
    const Int32 HWND_TOPMOST = -1;

    [DllImport("User32.dll")]
    public extern static bool SetWindowPos(
        IntPtr hWnd, // handle to window
        Int32 hWndInsertAfter, // placement-order handle
        Int32 X, // horizontal position
        Int32 Y, // vertical position
        Int32 cx, // width
        Int32 cy, // height
        Int32 uFlags // window-positioning options
        ); 

当您显示弹出窗口时调用以下方法:

ShowWindow(this.Handle,SW_SHOWNOACTIVATE);