Freigeben über


WindowInteropHelper.EnsureHandle Methode

Definition

Erstellt den HWND des Fensters, wenn der HWND noch nicht erstellt wurde.

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

Gibt zurück

IntPtr

nativeint

Ein IntPtr Wert, der den HWND darstellt.

Attribute

Hinweise

Verwenden Sie die Methode, wenn Sie die EnsureHandle Erstellung von Fensterhandle (HWND) von der tatsächlichen Anzeige des verwalteten WindowFensters trennen möchten. Dies ist nützlich, wenn Sie über einen Automatisierungsclient verfügen, der seine Aufgaben ausführen kann, ohne dass ein Fenster angezeigt werden muss.

Wenn das systemeigene Fenster noch nicht erstellt wurde, erstellt diese Methode das systemeigene Fenster, legt die Handle Eigenschaft fest und gibt den HWND zurück. Wenn das systemeigene Fenster bereits erstellt wurde, wird das Handle des vorhandenen systemeigenen Fensters zurückgegeben.

Wenn das systemeigene Fenster als Ergebnis des Aufrufens dieser Methode erstellt wird, wird das SourceInitialized Ereignis ausgelöst.

Durch Abfragen der Eigenschaft nach dem Aufruf der HandleEnsureHandle Methode wird das vorhandene Fensterhandle zurückgegeben. Die visuelle Struktur wird erst nach dem Aufruf der Show Methode an das Fenster angefügt.

Wenn Sie die EnsureHandle Methode mehrmals aufrufen, werden keine neuen Fensterhandles erstellt. Wenn die EnsureHandle Methode aufgerufen wird, wenn das Handle bereits durch einen Aufruf der Show Methode erstellt wurde, wird kein neues Fensterhandle erstellt. Ein systemeigenes Fenster wird nur erstellt, wenn kein Handle vorhanden ist, wenn die EnsureHandle Methode aufgerufen wird.

Fenstereigenschaften, die mithilfe systemeigener Fenster-APIs über p/invoke festgelegt werden, werden möglicherweise nicht in den APIs des verwalteten Fensters angezeigt. Wenn Sie z. B. festlegen, dass das Fenster am weitesten oben liegt, indem Sie das systemeigene MS_EX_TOPMOST Flag verwenden, nachdem die EnsureHandle Methode aufgerufen wurde, wird die Topmost Eigenschaft nicht garantiert, die systemeigene Einstellung widerzuspiegeln.

Gilt für: