Sdílet prostřednictvím


WindowInteropHelper.EnsureHandle Metoda

Definice

Vytvoří HWND okna, pokud hwnd ještě nebyl vytvořen.

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

Návraty

IntPtr

nativeint

Představuje IntPtr HWND.

Atributy

Poznámky

Metodu použijte, EnsureHandle pokud chcete oddělit vytváření popisovačů oken (HWND) od skutečného zobrazení spravovaného Windowobjektu . To je užitečné, když máte automatizačního klienta, který dokáže provádět své úkoly bez nutnosti zobrazení okna.

Pokud nativní okno ještě nebyl vytvořen, tato metoda vytvoří nativní okno, nastaví Handle vlastnost a vrátí HWND. Pokud už bylo nativní okno vytvořeno, vrátí se popisovač existujícího nativního okna.

Pokud je nativní okno vytvořeno v důsledku volání této metody, SourceInitialized je vyvolána událost.

Dotazování vlastnosti Handle po EnsureHandle volání metody vrátí existující popisovač okna. Vizuální strom není připojen k okně, dokud není volána Show metoda .

EnsureHandle Volání metody více než jednou nevytvoří nové popisovače okna. EnsureHandle Volání metody, pokud popisovač již byl vytvořen voláním Show metody nevytvoří nový popisovač okna. Nativní okno se vytvoří pouze v případě, že při zavolání EnsureHandle metody neexistuje žádný popisovač.

Vlastnosti okna, které se nastavují pomocí nativních rozhraní API oken prostřednictvím p/invoke, se nemusí zobrazit v rozhraních API spravovaných oken. Pokud například nastavíte okno tak, aby bylo nahoře pomocí nativního příznaku MS_EX_TOPMOST po EnsureHandle zavolání metody, není zaručeno, Topmost že vlastnost bude odrážet nativní nastavení.

Platí pro