马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

C#进行窗口句柄操作

  [复制链接]
查看6394 | 回复8 | 2014-8-3 11:34:35 | 显示全部楼层 |阅读模式


1.如图示,利用SetParent把一个外部应用程序的父窗口设置为我自己Form的子窗体,在TabControl中增加四个页面。每个页面中都嵌入这个名为Procmm的外部应用程序,如附件001图片所示。


2.在测试界面1中,将Procmm设置如下,端口设置为com2,波特率设置为9600,如附件002图片所示。
3.设置完毕后如附件003图片所示。
4.同样,点开TabControl的页面2,也开始设置Procmm,在这里将页面2Procmm端口设置为Com 3,波特率设置为19200,注意:问题出现了。如附件004和005图片所示。
5.返回TabControl的页面1,发现原先Procmm的设置竟然随着页面2的设置而发生了改变,由原先的设置变成了页面2的设置,后来发现,只要对其中一个页面进行窗口设置,其他窗口也会相继进行改变,请问各位大大们,这是为什么?如何解决这种问题,如附件006图片所示。

001图片:1.如图示,利用SetParent把一个外部应用程序的父窗口设置为我自己Form的子窗体,在TabControl中增 ...

001图片:1.如图示,利用SetParent把一个外部应用程序的父窗口设置为我自己Form的子窗体,在TabControl中增 ...

002图片:在测试界面1中,将Procmm设置如下,端口设置为com2,波特率设置为9600,如附件002图片所示。

002图片:在测试界面1中,将Procmm设置如下,端口设置为com2,波特率设置为9600,如附件002图片所示。

设置完毕后如附件003图片所示。

设置完毕后如附件003图片所示。

同样,点开TabControl的页面2,也开始设置Procmm,在这里将页面2的Procmm端口设置为Com 3,波特率设置为192 ...

同样,点开TabControl的页面2,也开始设置Procmm,在这里将页面2的Procmm端口设置为Com 3,波特率设置为192 ...

同样,点开TabControl的页面2,也开始设置Procmm,在这里将页面2的Procmm端口设置为Com 3,波特率设置为192 ...

同样,点开TabControl的页面2,也开始设置Procmm,在这里将页面2的Procmm端口设置为Com 3,波特率设置为192 ...

返回TabControl的页面1,发现原先Procmm的设置竟然随着页面2的设置而发生了改变,由原先的设置变成了页面2 ...

返回TabControl的页面1,发现原先Procmm的设置竟然随着页面2的设置而发生了改变,由原先的设置变成了页面2 ...
Fire.Su | 2014-8-3 11:36:17 | 显示全部楼层
图片4和图片5的描述是一样的,因为他们在一个步骤里面。
bookl | 2014-8-3 13:14:24 | 显示全部楼层
好高端的样子
ibcadmin | 2014-8-3 13:15:55 | 显示全部楼层
TabControl是在一个form中   所以  检查 是否使用了相同对象 , 导致一个改变所有改变
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
惜鑫 | 2014-8-3 13:17:16 | 显示全部楼层
人工置顶
Fire.Su | 2014-8-3 14:21:57 | 显示全部楼层
ibcadmin 发表于 2014-8-3 13:15
TabControl是在一个form中   所以  检查 是否使用了相同对象 , 导致一个改变所有改变

我还是没看懂您要表达的意思是什么?能否解释的详细点?
我是用了一个Tab,但是我用的是两个panel对象,外部应用程序有两个句柄,每个句柄对应父窗口为两个不同的Panel,这两个Panel对应的父窗口为这个Tabcontrol。
ibcadmin | 2014-8-3 14:35:12 | 显示全部楼层
Fire.Su 发表于 2014-8-3 06:21
我还是没看懂您要表达的意思是什么?能否解释的详细点?
我是用了一个Tab,但是我用的是两个panel对象, ...

但是你这些panel tabcontrol都是在一个form中 ,  就是相当于在一个类中 这点你明白吧.
所以说检查这个对象或者声明的变量  两个panel是否用了一个公共的变量来赋值的
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
Fire.Su | 2014-8-3 14:39:20 | 显示全部楼层
ibcadmin 发表于 2014-8-3 14:35
但是你这些panel tabcontrol都是在一个form中 ,  就是相当于在一个类中 这点你明白吧.
所以说检查这个 ...

额 ,不是的,那些设置跟我的Form已经没有关系了,那些设置是外部应用程序的设置,我是用SetParent把外部应用程序嵌入到我的Form中的,那些设置操作变量是原来的外部程序声明的,并不是我的Class中声明的。
ibcadmin | 2014-8-3 14:42:36 | 显示全部楼层
Fire.Su 发表于 2014-8-3 06:39
额 ,不是的,那些设置跟我的Form已经没有关系了,那些设置是外部应用程序的设置,我是用SetParent把外部 ...

哦哦 好吧  那我理解错了    这个我可能帮不上忙了。。 一点没理解..
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则