Problème de positionnement de la fenêtre lors de l'utilisation de SetParent()

Je suis en train de définir childForm comme l'enfant de la principale fenêtre d'Excel à l'aide de la SetParent API par le biais d'PInvoke:

Form childForm = new MyForm();
IntPtr excelHandle = (IntPtr) excelApplication.Hwnd;
SetParent(childForm.Handle, excelHandle);
childForm.StartPosition = FormStartPosition.Manual;
childForm.Left = 0;
childForm.Top = 0;

Comme vous pouvez le voir ci-dessus, mon intention est aussi de la position de l'enfant dans le coin supérieur gauche de la fenêtre Excel. Cependant, pour une raison quelconque, le childForm finit toujours à un étrange endroit.

Qu'est-ce que je fais de mal?

  • Vous êtes un peu en retard à la définition de ces propriétés. Accédant à la propriété Handle est ce qui crée la fenêtre.