C# Winform中如何将一个应用程序显示在Panel中? 请教一下,如题,知道这个应用程序的句柄,怎么把它嵌到WinForm中的Panel控件中呢?这个应用程序是我启动的软件程序,不是Form,谢谢~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用FindWindowEx获取启动的程序主窗体句柄,然后用SetParent将其父设为Panel 怎么把Panel设为其父呢?SetParent不是需要两个窗口的句柄吗? [System.Runtime.InteropServices.DllImportAttribute("user32.dll", EntryPoint = "SetParent")] public static extern System.IntPtr SetParent( System.IntPtr hWndChild, System.IntPtr hWndNewParent); 第一个参数是你要显示的窗体的句柄,第二参数你设为Panel的句柄 Form1 f = new Form1(); f.TopLevel = false; panel1.Controls.Add(f); [DllImport("user32.dll", CharSet = CharSet.Auto)] public extern static IntPtr SetParent(IntPtr hChild, IntPtr hParent); 谢谢~我是一个初学者,再请教一下我程序中的panel2的句柄该怎么获得呢?我写public IntPtr pp = panel2->Handle;报错。。 public IntPtr pp =IntPtr.Zero;在Form1_Load方法里面的最后在进行赋值就好了;pp = panel2->Handle;如果像你那样写,那么窗体还没创建出来,这时上面的控件也都没创建出来,就会先执行你写的这句代码,panel2还没创建出来也就不会有Handle产生了,这时调用就 报错了。 嗯,谢谢你!可以了~但是如果我不想让这个应用程序在panel2中移动,即固定在panel中,该怎么办呢? dataset多条数据合成一条数据 qq2009更改外观的功能是怎样实现的 用c#能实现吗 底纹和调色 能够互相影响 如何在winform中嵌入execl? 用c#做一个类似QQ的聊天软件 100分求教,什么是组件的动态热插拔 在mdi窗口中,如何控制子窗口只打开一个实例 C# EXCEL导出写入图片报错 怎样在MultiLine的TextBox使用Ctrl-A来全选? 散分:'Sys.Debug' 为空或不是对象? 关于局域网游戏 怎样限制鼠标的移动范围?如只能在一个显示器,不能到另一显示器 如何将sql的money类型转化成C#的double类型
public static extern System.IntPtr SetParent( System.IntPtr hWndChild, System.IntPtr hWndNewParent); 第一个参数是你要显示的窗体的句柄,第二参数你设为Panel的句柄
f.TopLevel = false;
panel1.Controls.Add(f); [DllImport("user32.dll", CharSet = CharSet.Auto)]
public extern static IntPtr SetParent(IntPtr hChild, IntPtr hParent);
在Form1_Load方法里面的最后在进行赋值就好了;
pp = panel2->Handle;如果像你那样写,那么窗体还没创建出来,这时上面的控件也都没创建出来,就会先执行你写的这句代码,
panel2还没创建出来也就不会有Handle产生了,这时调用就 报错了。