C#自定义控件:WinForm将其它应用程序窗体嵌入自己内部
这是最近在做的一个项目中提到的需求,把一个现有的窗体应用程序界面嵌入到自己开发的窗体中来,看起来就像自己开发的一样(实际上……跟自己开发的还是有一点点区别的,就是内嵌程序和宿主程序的窗口激活状态问题)。
在codeproject找到了一篇相关的文章(http://www.codeproject.com/Articles/9123/Hosting-EXE-Applications-in-a-WinForm-project),虽然可用,但是很不方便,于是重新设计编写了一个类库,用一个控件完成内嵌其它应用程序的功能。
直接上图先:
?
?
?
从打开Adobe Reader那张图片可以看出来所谓的“内嵌程序和宿主程序的窗口激活状态问题”。当内嵌程序窗口激活时,表面上将其包裹起来的宿主窗口却处于非激活的状态。想隐藏这一点的话,把窗口的FormBorderStyle属性设为None吧,然后自己在窗口上画关闭、最大化、最小化按钮好了。
?
原作者的实现思路更能暴露本质,所以这里用原作者的代码段解释一下实现过程。
1、启动要嵌入的应用程序进程
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
-
怎么取得指定目录下面的指定的后缀名的所有文件名的数据啊
-
¥¥¥ 求正则表达式,匹配 aaaa1,aaaa2,aaaa3,aaaa10,aaaa11,aaaa1000,该如何处理
-
请教:怎么将结果集中的输入插入到表中?
-
c# 怎么获取字符串 所占字节个数,字符串有可能包含 汉字
-
c#中,radCalendar跨panel1与panel2中怎么显示
-
问一个基础的有关问题。
-
x509 证书有关问题, WCF 客户端和服务器端通信, 能只在WCF 服务器端单方面认证吗? 不想给客户端设证书, 可以的话,config如何设置.
-
C# 获取现阶段月份的天数的三种方法
-
关于mvc分页查询有关问题
-
方法介绍,该如何处理
-
在结构体中定义另一个结构体的数组,UnmanagedType值该如何设置
-
C#中通过点击button删除选中的数据.
-
怎么设置 发布 程序的 安装路径
-
C# .sln 资料位置存放
-
登陆窗口功能实现,提问,多谢
-
c#统制 usb 密码小键盘的输入
-
小弟我是一个学生,正在做一个java web项目,小弟我负责的模块是:资产信息、领导日程安排、决策实施、调研报告
-
一百分问一个制作安装程序的有关问题,分不够可以再加
-
【既然不能使用指针】这是怎么做到的
-
软件开发,该怎么处理