Я работаю с Solidworks Pdm Api , и я разрабатываю надстройку с использованием Windows Forms для отображения информации о некоторых файлах.
В документации api рекомендую использовать этокласс, чтобы установить окно Pdm в качестве родителя
public class WindowHandle : IWin32Window
{
private IntPtr mHwnd;
public WindowHandle(int hWnd)
{
mHwnd = new IntPtr(hWnd);
}
public IntPtr Handle
{
get { return mHwnd; }
}
}
И это работает хорошо, поэтому, когда я покажу свою форму, я делаю следующее
//i recived hWnd parameter from the api
WindowHandle myHandle = new WindowHandle(hWnd);
var weForm = new myForm();
weForm.StartPosition = FormStartPosition.CenterParent;
weForm.ShowDialog(myHandle);
На этом этапе,форма показывает без проблем, окно Pdm фактически является родителем, но форма не центрирована.
Я нашел этот вопрос о том, как центрировать формы в его родителе, но, очевидно, кто-то работаеткогда вы используете пользовательский класс, унаследованный от IWin32Window
.
Что я могу сделать, чтобы центрировать мою форму?