Fire.Su 发表于 2014-8-3 11:34:35

C#进行窗口句柄操作



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

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

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中   所以检查 是否使用了相同对象 , 导致一个改变所有改变

惜鑫 发表于 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是否用了一个公共的变量来赋值的

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把外部 ...

哦哦 好吧那我理解错了    这个我可能帮不上忙了。。 一点没理解..
页: [1]
查看完整版本: C#进行窗口句柄操作