2

Windows アプリケーションを開発しました。どの通知フォームで、5 分間隔ごとにウィンドウの右下に表示されます。メモ帳/Excelで作業しているときに通知フォームが開くと、フォーカスが自動的にWindowsフォームに移動しました。このフォームフォーカスを防ぎたい。解決策はありますか?

4

1 に答える 1

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);

于 2012-09-17T13:13:30.967 に答える