Pergunta

Eu preciso do IntPtr para um formulário. Control.FromHandle (controle) me dá o controle de um punho, mas eu preciso o oposto - obter o identificador de um controle. Como posso fazer isso?

Foi útil?

Solução

Tente

Dim handle As IntPtr = someControl.Handle

Nota: Isto só funcionará depois que o identificador para o controle é criado. Há uma janela de tempo entre quando você cria um controle e quando ele é processado em algum grau em que esta pode retornar IntPtr.Zero

Outras dicas

Nota: Isto só funcionará depois que o identificador para o controle é criado. Há uma janela de tempo entre quando você cria um controle e quando ele é processado em algum grau em que isso pode voltar IntPtr.Zero

Eu tenho que discordar JaredPar sobre isso: o acessor get da propriedade lidar com as chamadas CreateHandle se o identificador ainda não está criado (você pode verificar com refletor). É importante estar ciente de que, porque em alguns casos, poderia ter consequências inesperadas

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top