WindowInteropHelper.EnsureHandle Метод

Определение

Создает дескриптор окна (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

Объект IntPtr, представляющий дескриптор окна (HWND).

Атрибуты

Комментарии

Используйте метод , EnsureHandle если требуется отделить создание дескриптора окна (HWND) от фактического отображения управляемого Windowобъекта . Это полезно, если у вас есть клиент автоматизации, который может выполнять свои задачи без необходимости отображения окна.

Если собственное окно еще не создано, этот метод создает собственное окно, задает Handle свойство и возвращает HWND. Если собственное окно уже создано, возвращается дескриптор существующего собственного окна.

Если собственное окно создается в результате вызова этого метода, SourceInitialized возникает событие .

При запросе Handle свойства после EnsureHandle вызова метода возвращается существующий дескриптор окна. Визуальное дерево не прикрепляется к окну до тех пор, Show пока не будет вызван метод .

EnsureHandle Вызов метода более одного раза не приводит к созданию новых дескрипторов окна. EnsureHandle Вызов метода, когда дескриптор уже создан вызовом Show метода, не создает новый дескриптор окна. Собственное окно создается, только если дескриптор не существует при вызове EnsureHandle метода .

Свойства окна, которые задаются с помощью собственных ИНТЕРФЕЙСов API окна через p/invoke, могут не отображаться в API управляемых окон. Например, если задать для окна верхнюю часть с помощью собственного флага MS_EX_TOPMOST после EnsureHandle вызова метода, Topmost свойство не будет гарантированно отражать собственный параметр.

Применяется к