WindowInteropHelper.EnsureHandle Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy HWND okna, jeśli HWND nie został jeszcze utworzony.
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
Zwraca
nativeint
Element IntPtr reprezentujący HWND.
- Atrybuty
Uwagi
EnsureHandle Użyj metody , jeśli chcesz oddzielić tworzenie uchwytu okna (HWND) od rzeczywistego wyświetlania zarządzanego Window. Jest to przydatne, gdy masz klienta automatyzacji, który może wykonywać swoje zadania bez konieczności wyświetlania okna.
Jeśli okno natywne nie zostało jeszcze utworzone, ta metoda tworzy okno natywne, ustawia Handle właściwość i zwraca wartość HWND. Jeśli okno natywne zostało już utworzone, zostanie zwrócony uchwyt istniejącego okna natywnego.
Jeśli w wyniku wywołania tej metody zostanie utworzone okno natywne, SourceInitialized zostanie zgłoszone zdarzenie.
Wykonywanie zapytań względem właściwości po EnsureHandle wywołaniu Handle metody zwraca istniejący uchwyt okna. Drzewo wizualne nie jest dołączone do okna, dopóki nie Show zostanie wywołana metoda.
EnsureHandle Wywołanie metody więcej niż jeden raz nie powoduje utworzenia nowych dojść okien. EnsureHandle Wywołanie metody , gdy dojście zostało już utworzone przez wywołanie Show metody , nie powoduje utworzenia nowego dojścia okna. Okno natywne jest tworzone tylko wtedy, gdy nie istnieje dojście, gdy jest wywoływana EnsureHandle metoda.
Właściwości okna ustawione przy użyciu natywnych interfejsów API okien za pośrednictwem funkcji p/invoke mogą nie być wyświetlane w zarządzanych interfejsach API okna. Jeśli na przykład ustawisz okno jako najwyższego poziomu przy użyciu natywnej flagi MS_EX_TOPMOST po EnsureHandle wywołaniu metody, Topmost właściwość nie ma gwarancji odzwierciedlenia ustawienia natywnego.