问题描述
- 用API.SetWindowPos方法设置固定位置后,将第三方的应用程序嵌入到Panel控件中。
-
在C# Winfrom项目中,有一个form窗体,一个panel控件.
通过Process.start方法打开第三方的应用程序,将第三方程序嵌入Panel控件中。
用API.SetWindowPos方法改变第三方的应用程序位置以及大小。目前发现一个问题,
打开第三方的应用程序设置大小及位置,通过获取panel控件的位置可以显示嵌入到Panel控件中,代码如下:
API.SetWindowPos(ptravayaWnd, IntPtr.Zero, this.panel1.Location.X, this.panel1.Location.Y, 956, 536, 0);
API.SetParent(ptravayaWnd, this.panel1.Handle);打开第三方的应用程序设置大小及位置,通过获设置固定的位置无法显示嵌入到Panel控件中,代码如下:
API.SetWindowPos(ptravayaWnd, IntPtr.Zero,650,0, 956, 536, 0);//设置位置为:650,0 无法显示打开第三方的应用程序嵌入到Panel控件中
API.SetParent(ptravayaWnd, this.panel1.Handle);请问如何实现用API.SetWindowPos方法设置固定位置后,能够正常的将打开的第三方的应用程序嵌入到Panel控件中。
解决方案
改变大小不要用SetWindowPos
应该用MoveWindow
解决方案二:
SetWindowPos主要是设置Z-Order的。
解决方案三:
SetWindowPos 也可以改变大小及位置的,就是不清楚为什么改成固定位置就无法嵌入到Panel控件中.
有没有这方面的解决办法。
解决方案四:
是不是要设置下层级,设置固定位置会不会被panel控件遮挡住,导致无法显示? 请各位帮忙看看,谢谢
时间: 2024-08-03 08:57:46