以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  并列窗口的焦点问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83490)

--  作者:blackzhu
--  发布时间:2016/4/11 9:12:00
--  并列窗口的焦点问题
 我用以下代码打开两个并列窗口

 forms("1").show
forms("2").show

这样一来窗口的焦点在 2 上面,那么我点一下窗口1 的窗口标题 界面到了1的界面,但是焦点还是在2的窗口上面,我如何将焦点也切换到窗口1上.

--  作者:大红袍
--  发布时间:2016/4/11 9:16:00
--  
 汗,测试没有你说的问题。
--  作者:大红袍
--  发布时间:2016/4/11 9:16:00
--  
如果你要给某个控件设置焦点,你可以去编写点击窗口标题的事件。
--  作者:blackzhu
--  发布时间:2016/4/11 9:21:00
--  
是这样的,我用的是动态按钮的写法,现在发现一个问题,同时打开两个窗口,我用megbox 测试,按钮的名字还是2的按钮名字,1 获取不到.所以我怀疑焦点没有切换过来.
--  作者:blackzhu
--  发布时间:2016/4/11 9:21:00
--  
以下是引用大红袍在2016/4/11 9:16:00的发言:
如果你要给某个控件设置焦点,你可以去编写点击窗口标题的事件。


 点击窗口标题的事件怎么写?并列窗口的方法帮助没有写


--  作者:大红袍
--  发布时间:2016/4/11 9:28:00
--  

1、不理解你说的问题,请举例说明

 

2、

 

全局事件

 

Public Sub TabControl_SelectedIndexChanged(sender As Object, e As EventArgs)
   MessageBox.Show(sender.SelectedTab.Name & "|" & sender.SelectedTab.Text)
End Sub

 

绑定事件

 

Dim tab As C1Command.C1DockingTab = Forms("窗口1").panel.parent.parent

addhandler tab.SelectedIndexChanged, addressof TabControl_SelectedIndexChanged


--  作者:blackzhu
--  发布时间:2016/4/11 9:40:00
--  

 forms("1").show
forms("2").show

焦点肯定是在2上面,但是因为是并列窗口,我可以用鼠标点击一下窗口1,那么窗口界面回到了窗口1,但是焦点且还在窗口2上面.  由于我是用的第三方的动态控件,那么我现在能获取的控件名称还是2的控件名称,窗口1的获取不到,

如果我单单打开窗口1 或者2  那就无所谓了.


--  作者:大红袍
--  发布时间:2016/4/11 9:41:00
--  
 你如何获取?具体例子?
--  作者:blackzhu
--  发布时间:2016/4/11 9:45:00
--  
我看了论坛 也有人在问这个焦点问题,我用你的代码先测下 试试