Necessidade IntPtr para um Form (VB.Net)
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?
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