以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  网络通断该显示的信息看不到结果  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186303)

--  作者:hongsejiyi
--  发布时间:2023/4/20 12:38:00
--  网络通断该显示的信息看不到结果
项目事件:NetworkAvailabilityChanged,里边的代码如下
If e.IsAvailable = False Then
    MessageBox.Show("NO")
Else
    MessageBox.Show("Yes")
End If

完成的意思是,当网络可用状态发生变化时,执行该代码,显示指定的信息,我用的是自定义窗口为程序启动窗口,并在自定义窗口中Afterload事件中,使用了如下语句

e.Form.BaseForm.ShowInTaskbar = True
BaseMainForm.Visible = False
BaseMainForm.Left = -10000

完成的意思是让主窗口隐藏,只看到我自定义的窗口,做为主窗口,发布之前测试,一切正常,系统主窗口隐藏,显示我的定义窗口做为主窗口,功能也正常,当断掉当前网络时,显示提示窗口NO,再恢复网络时,显示提示窗口Yes
但发布程序后,单独发布后的执行该程序,随着网络的通断,看不到指定的提示,但如果同时开着源设计程序窗口(程序的是设计状态,即项目是打开状态),运行发布程序时,通断网络,会正常看到提示。
请问应该如何处置?
[此贴子已经被作者于2023/4/20 12:43:05编辑过]

--  作者:有点蓝
--  发布时间:2023/4/20 13:35:00
--  
所有网络都断开了,包括虚拟网络,也就是网络邻居里所有的网络都是断开状态才会触发这个事件
--  作者:hongsejiyi
--  发布时间:2023/4/20 14:41:00
--  
刚才我试了一下,将我自定义窗口,由模式窗口改变成主窗口,一切是正常的,但再改回模式窗口,就不正常了(感觉是那个信息一定是发到了原来那个系统窗口了,因为隐藏就看不到了)
--  作者:有点蓝
--  发布时间:2023/4/20 14:53:00
--  
MessageBox.Show
改为这种试试
MessageBox.Show(forms("打开的模式窗口").BaseForm,"No")

--  作者:hongsejiyi
--  发布时间:2023/4/20 15:09:00
--  
试了一下,还是不行?但是源项目窗口(也就是源程序的项目处于打开状态时,按说和这个有啥关系呢,因为发布后和源程序无关了),可就是这么奇怪,它开着居然能正常看到提示信息
而且发布前,预览也是正常的!
[此贴子已经被作者于2023/4/20 15:09:28编辑过]

--  作者:有点蓝
--  发布时间:2023/4/20 15:16:00
--  
我测试没有问题
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目2.zip


--  作者:hongsejiyi
--  发布时间:2023/4/20 15:27:00
--  
我新建了一个空白项目,测试也没有问题(无需打开源项目),也是正常的!真是见鬼了!
--  作者:hongsejiyi
--  发布时间:2023/4/20 16:05:00
--  
我把自定义窗口由main改名main1,并保存为窗口文件,建立一个新窗口main,再用保存的窗口文件生成新窗口,程序哪儿也没有改变,重新发布,一切正常,也和那个本无关的源项目窗口打开无关了!
--  作者:hongsejiyi
--  发布时间:2023/4/20 18:22:00
--  
老师,这个问题仍然没有解决(后来,我发现有一个程序驻留内存,没有释放,所以感觉重新建立窗口就没有问题了)
您发的这个【项目2】的例子,只要是在AfterProject事件中,使用 Forms("窗口1“).open打开,然后再发布成123.exe,再执行123.exe时, 就会出现我的问题
如果不在AfterProject事件中,使用 Forms("窗口1“).open打开,只是程序运行到主界面,再通过工具栏上的”窗口“选择窗口1,就一切正常

我又建立了一个空白的项目,模拟以上,就是这个规律!

但,即使在AfterProject事件中,使用 Forms("窗口1“).open打开,把”窗口1“的的窗口类型由“模式窗口”改为“独立窗口”,就是正常的,但在启动后的主窗口,我需要的是模式窗口啊,咋办?

[此贴子已经被作者于2023/4/20 19:46:10编辑过]

--  作者:有点蓝
--  发布时间:2023/4/20 20:08:00
--  
新建一个计划管理,把Forms("窗口1“).open放到计划里执行