我正在使用SetParent()
将表单嵌入到现有窗口中。
它工作正常但是当我移动现有窗口时,我的表单会调整大小到现有窗口的大小。因此,例如,如果我的表单大小为300x200且窗口大小为800x800,则一旦我移动(拖动)窗口,我的表单就会调整大小到窗口的大小(800x800)。
有没有办法避免这种情况?
这是我的代码:
[DllImport("user32.dll", SetLastError = true)]
private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
[DllImport("user32.dll")]
public static extern int GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("user32.dll")]
public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
public static int GWL_STYLE = -16;
public static int WS_CHILD = 0x40000000;
//my call of the methods
SetWindowLong(this.Handle, GWL_STYLE, GetWindowLong(this.Handle, GWL_STYLE) | WS_CHILD);
SetParent(this.Handle, GetHandle());