WindowInteropHelper.EnsureHandle Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.