以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何判断当前打开的是哪个并列窗口  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=168765)

--  作者:qaz17909
--  发布时间:2021/5/22 19:59:00
--  如何判断当前打开的是哪个并列窗口
全部采用并列窗口,想判断当前打开的是并列窗口的名称,用如下代码无效。
Dim frm As WinForm.Form = Forms.ActiveForm
If
 frm IsNot Nothing Then
    MessageBox.Show(
"活动窗口为:" & frm.Name)
Else

    MessageBox.Show(
"无活动窗口!" )
End
 
If

--  作者:cnsjroom
--  发布时间:2021/5/22 21:44:00
--  回复:(qaz17909)如何判断当前打开的是哪个并列窗口...

For Each Frm As WinForm.Form In Forms
    OUTPUT.SHOW(Frm.FormStyle)   ’0 1 2 3 4 5 6 7对应的是窗口属性里面的类型 一次为并列  停靠 ……
    If Frm.FormStyle=0 Then
        MessageBox.Show("活动窗口为:" & frm.Name)
    Else
        MessageBox.Show("无活动窗口!" )
    End If
Next

--  作者:qaz17909
--  发布时间:2021/5/23 9:39:00
--  
好像不行,实例已上传,希望每个窗口的按钮能够弹出当前窗口的名称。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:并列窗口.rar



--  作者:有点蓝
--  发布时间:2021/5/23 21:06:00
--  
如果每个窗口有自己的按钮就简单了

MessageBox.Show(e.form.name)

--  作者:qaz17909
--  发布时间:2021/5/24 8:23:00
--  
不是的,我没有表达好,不是通过每个窗口上面的按钮去弹出的,是直接用代码判断当前窗口的名称。
--  作者:有点蓝
--  发布时间:2021/5/24 9:28:00
--  
假设并列窗口绑定表A

Dim a As C1.Win.C1Command.C1DockingTab = Tables("表A").grid.parent.parent
Output.Show(a.SelectedTab.text) ‘窗口标题’
Output.Show(a.SelectedTab.controls(0).name) ‘窗口名称’

--  作者:qaz17909
--  发布时间:2021/5/24 20:06:00
--  
我在命名窗口输入上面的代码,但是提示出错啊

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20210524200358.png
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2021/5/24 20:52:00
--  

[此贴子已经被作者于2021/5/24 20:56:34编辑过]

--  作者:qaz17909
--  发布时间:2021/5/24 20:58:00
--  
我实例里,三个窗口绑定的表都是表A,并且我通过导航把三个并列窗口都打开了,然后我任务窗口输入上述代码出错了。

图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2021/5/24 21:15:00
--  
Dim b = basemainform.controls("MainPages")
Dim c = b.tabpages("表A").controls(0)
output.Show(c.SelectedTab.controls(0).name)