Compartilhar via


WindowInteropHelper.EnsureHandle Método

Definição

Criará o HWND da janela se o HWND ainda não tiver sido criado.

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

Retornos

IntPtr

nativeint

Um IntPtr que representa o HWND.

Atributos

Comentários

Use o EnsureHandle método quando quiser separar a criação do HWND (identificador de janela) da exibição real do gerenciado Window. Isso é útil quando você tem um cliente de automação que pode realizar suas tarefas sem a necessidade de mostrar uma janela.

Se a janela nativa ainda não tiver sido criada, esse método criará a janela nativa, definirá a Handle propriedade e retornará o HWND. Se a janela nativa já tiver sido criada, o identificador da janela nativa existente será retornado.

Se a janela nativa for criada como resultado da chamada desse método, o SourceInitialized evento será gerado.

Consultar a Handle propriedade depois que o EnsureHandle método é chamado retorna o identificador de janela existente. A árvore visual não é anexada à janela até que o Show método seja chamado.

Chamar o EnsureHandle método mais de uma vez não cria novos identificadores de janela. Chamar o EnsureHandle método quando o identificador já foi criado por uma chamada para o Show método não cria um identificador de janela. Uma janela nativa só é criada quando nenhum identificador existe quando o EnsureHandle método é chamado.

As propriedades de janela definidas usando APIs de janela nativa por meio de p/invoke podem não aparecer nas APIs de janela gerenciada. Por exemplo, se você definir a janela como a mais alta usando o sinalizador de MS_EX_TOPMOST nativo depois que o EnsureHandle método for chamado, não haverá garantia de que a Topmost propriedade reflita a configuração nativa.

Aplica-se a