winform visual studio net microsoft form examples application aplicacion winforms visual-studio visual-c++ handle

winforms - visual - Cómo obtener un control HWND de un System.Windows.Forms.Form



windows form application (1)

Encontré una solución, y no me importa si es un problema.

hWnd = static_cast<HWND>(Handle.ToPointer());

Trabajos.

Dada la forma

System.Windows.Forms::Form Form1;

y el mango de la ventana

HWND hWnd;

¿Cómo puedo establecer hWnd en la propiedad Manejar de Form1 que realmente existe como una propiedad pública que "Obtiene el identificador de ventana al que está vinculado el control. (Heredado de Control)" según la documentación de Microsoft de System.Windows.Forms :: Forma ? En el constructor de mi formulario Form1, lo he intentado

hWnd = this.Handle;

pero el compilador se queja:

error C2228: a la izquierda de ''.Handle'' debe tener class / struct / union type es ''MyNamespace :: Form1 ^ const'' ¿pretendes usar ''->'' en su lugar?

Entonces intento

hWnd = this->Handle;

Y solo

hWnd = Handle; // Since I''m in the Form

y luego el compilador dice:

error C2440: ''='': no ​​se puede convertir de ''System :: IntPtr'' a ''HWND'' No hay ningún operador de conversión definido por el usuario disponible que pueda realizar esta conversión, o no se puede llamar al operador