以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  窗口的打开与关闭(已解决)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=7320)

--  作者:i52117
--  发布时间:2010/6/7 16:01:00
--  窗口的打开与关闭(已解决)
MainTableChanged中切换不同表时打开本表独立窗口,自动关闭其他表已经打开的独立窗口 应该怎么做?谢谢 
[此贴子已经被作者于2010-6-8 9:07:48编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/6/7 16:06:00
--  

如果这样,最好独立窗口全部以约定的字符开头,然后

 

For each frm As winForm.Form In Forms
   If frm.Name.StartsWith("预定字符") AndAlso frm.Opened AndAlso frm.TableName <> MainTable.Name Then
        frm.Close
   Next
Next

 


--  作者:foxor
--  发布时间:2010/6/7 16:07:00
--  

这个想法很实用,好象没有现成的办法,似乎只能靠判断表名了。建议在窗口设计中添加一个属性:是否随主表自动打开

[此贴子已经被作者于2010-6-7 16:10:45编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/6/7 16:13:00
--  
图片点击可在新窗口打开查看
--  作者:i52117
--  发布时间:2010/6/7 23:05:00
--  
以下是引用foxor在2010-6-7 16:07:00的发言:

建议在窗口设计中添加一个属性:是否随主表自动打开

这个应该有图片点击可在新窗口打开查看  独立窗口应该可以和主表一起打开、关闭

[此贴子已经被作者于2010-6-7 23:12:03编辑过]

--  作者:程兴刚
--  发布时间:2010/6/7 23:20:00
--  

建议窗口名称与主表名称关联(比如相同),这样您就不需要判断,离开主表关闭,

比如:Forms("MainTable.Name").close     或Forms("MainTable.Name").open


--  作者:i52117
--  发布时间:2010/6/8 9:07:00
--  

按程版的思路 在MainTableChanging中加入关闭窗口代码

Select Case CurrentTable.DataTable.Name
    Case "资料"
        Forms("资料").Close()
    Case "部门"
        Forms("部门").Close()
\'    Case 值3
\'        代码3
\'    Case Else
\'        代码X
End Select