以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [讨论]2个模式窗口相互切换不正常的现象? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=175034) |
-- 作者:新福星 -- 发布时间:2022/2/17 10:30:00 -- [讨论]2个模式窗口相互切换不正常的现象? A&B 2个模式类型的窗口,在各自窗口中的标签加入如下双击事件: B窗口如下代码 e.Form.Close Forms("A").open A窗口如下代码 e.Form.Close Forms("B").open 第一轮切换是正常的。 在模式窗口下如下表现: 比如先打开A窗口,双击A窗口标签可以打开B窗口,然后再双击B窗口标签,就无法打开A窗口了。 同理先打开B窗口,双击B窗口标签可以打开A窗口,然后再双击A窗口标签,就无法打开B窗口了。 窗口AfterLoad事件里有 e.Form.BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None 但是在独立窗口可以无限的来回切换。 |
-- 作者:程兴刚 -- 发布时间:2022/2/17 10:43:00 -- 将e.form换成forms(“xx”)试试 |
-- 作者:有点蓝 -- 发布时间:2022/2/17 10:51:00 -- 模式窗口是阻塞式的,不能这样用。先打开的模式窗口不能关闭,只能隐藏。无法来回切换的 比如先打开A窗口,然后打开B窗口,B窗口要重新打开A窗口,需要把B窗口关闭,然后显示A窗口。 A窗口打开B窗口的按钮 e.Form.baseform.hide Forms("B").Show B窗口的打开A窗口的按钮 Forms("A").Show e.Form.close
|
-- 作者:新福星 -- 发布时间:2022/2/17 11:11:00 -- 谢谢!但是没有看明白!希望是可以无限循环切换。 是不是AB窗口切换程序应该是对称的吧?
实际语句是下面这样的 Forms("登录窗口").Close If Forms("身份证登陆").opened Then Forms("身份证登陆").show Else Forms("身份证登陆").open End If |
-- 作者:有点蓝 -- 发布时间:2022/2/17 11:21:00 -- 模式窗口是阻塞式的,无法来回切换的。阻塞式意思就是在这个窗口里的所有操作没有完成前,窗口是无法关闭的。A模式窗口双击打开B模式窗口,在B模式窗口关闭之前,A模式窗口双击事件就不算结束,因为消息循环被B模式窗口阻塞,只有B窗口关闭了,A窗口的双击事件执行才算真正结束 希望是可以无限循环切换还是使用独立窗口吧
|