以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 若切换至“窗口3”,则自动打开“窗口4”,并关闭除“窗口3”和“窗口4”以外的所有窗口, (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=139204) |
-- 作者:fengwenliuyan -- 发布时间:2019/8/8 10:17:00 -- 若切换至“窗口3”,则自动打开“窗口4”,并关闭除“窗口3”和“窗口4”以外的所有窗口, 有4个窗口:窗口1、窗口2、窗口3、窗口4。 若“窗口1”打开,则只打开“窗口2”, 若切换至“窗口3”,则自动打开“窗口4”,并关闭除“窗口3”和“窗口4”以外的所有窗口, 同理,若切换至“窗口1”,则自动打开“窗口2”,并关闭除“窗口1”和“窗口2”以外的所有窗口, 这应该怎样做到?
|
-- 作者:有点蓝 -- 发布时间:2019/8/8 10:43:00 -- 1、如果窗口1和窗口3是独立或者模式窗口: 全局代码: Public Sub Form_Activated(ByVal sender As Object, ByVal e As System.EventArgs) \'定义一个窗体被激活的事件 If forms.ActiveForm IsNot Nothing Then Functions.Execute("Form_Activated") \'这里自己写个函数处理 End If End Sub 窗口1和窗口3,afterload事件 AddHandler e.form.baseform.Activated, AddressOf Form_Activated 函数Form_Activated Dim frm As WinForm.Form = Forms.ActiveForm If frm.Name = "窗口1" AndAlso Forms("窗口2").Opened = False Then Forms("窗口2").show End If 2、如果窗口1和窗口3不是独立或者模式窗口 窗口1和窗口3,afterload事件 For Each frm As WinForm.Form In Forms If frm.Name = "窗口3" OrElse frm.Name = "窗口4" If frm.Name = "窗口4" AndAlso frm.Opened = False Then frm.Open End If ElseIf frm.Opened frm.Close End If Next MainTableChanged事件 If MainTable.Name = "表B(窗口1和窗口3的所有者表 )" AndAlso Forms("窗口3").Opened Then For Each frm As WinForm.Form In Forms If frm.Name = "窗口3" OrElse frm.Name = "窗口4" If frm.Name = "窗口4" AndAlso frm.Opened = False Then frm.Open End If ElseIf frm.Opened frm.Close End If Next End If |