WindowInteropHelper.EnsureHandle メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ウィンドウの HWND がまだ作成されていない場合は HWND を作成します。
public:
IntPtr EnsureHandle();
[System.Security.SecurityCritical]
public IntPtr EnsureHandle ();
public IntPtr EnsureHandle ();
[<System.Security.SecurityCritical>]
member this.EnsureHandle : unit -> nativeint
member this.EnsureHandle : unit -> nativeint
Public Function EnsureHandle () As IntPtr
戻り値
-
IntPtr
nativeint
HWND を表す IntPtr。
- 属性
注釈
EnsureHandleウィンドウ ハンドル (HWND) の作成をマネージドWindowの実際の表示から分離する場合は、このメソッドを使用します。 これは、ウィンドウを表示せずにタスクを実行できるオートメーション クライアントがある場合に便利です。
ネイティブ ウィンドウがまだ作成されていない場合、このメソッドはネイティブ ウィンドウを作成し、プロパティを Handle 設定し、HWND を返します。 ネイティブ ウィンドウが既に作成されている場合は、既存のネイティブ ウィンドウのハンドルが返されます。
このメソッドを呼び出した結果としてネイティブ ウィンドウが作成された場合、イベントが発生します SourceInitialized 。
メソッドの呼び出し後に Handle プロパティに対してクエリを EnsureHandle 実行すると、既存のウィンドウ ハンドルが返されます。 メソッドが呼び出されるまで、ビジュアル ツリーはウィンドウに Show アタッチされません。
メソッドを EnsureHandle 複数回呼び出しても、新しいウィンドウ ハンドルは作成されません。 メソッドの EnsureHandle 呼び出しによってハンドルが既に作成されている場合にメソッドを Show 呼び出しても、新しいウィンドウ ハンドルは作成されません。 ネイティブ ウィンドウは、メソッドが呼び出されたときにハンドルが存在しない場合 EnsureHandle にのみ作成されます。
p/invoke を使用してネイティブ ウィンドウ API を使用して設定されたウィンドウ プロパティは、マネージド ウィンドウ API に表示されない場合があります。 たとえば、メソッドの呼び出し後にネイティブ MS_EX_TOPMOST フラグを使用してウィンドウを EnsureHandle 最上位に設定した場合、 Topmost このプロパティはネイティブ設定を反映するとは限りません。