我有一个相对较小的 VB winforms 项目。它目前用于在服务器上启动数字超链接和一些应用程序。有几个函数可以完成所有工作,但它实际上归结为:
System.Diagnostics.Process.Start("iexplore.exe", urlVar)
或者如果它是位于服务器上的应用程序,则传递给函数的变量appLinkVar
将包含启动应用程序所需的文件路径。
System.Diagnostics.Process.Start(appLinkVar)
“项目”存储在 SQL 本地数据库 (.mdf) 中
Id, appName, appLink, appClickCount, appFavList,
和decision
,它告诉函数是调用网站还是打开可执行文件。
目前,数据库中有 40 行,我预计最终有 150 多行需要集中且经常(每周)更新。但这是一个不同的问题。我在这个问题中添加的原因是为了了解为什么我对某些链接使用数据库而不是设置或 XML 文件。(欢迎提出更好的建议)
我的管理主窗体加载 Visible = False 并在系统尝试加载图标。所以你实际上看不到打开的第一个表单。这是一个隐藏的管理窗口,主要目的是将图标放在系统托盘中。绿色的 RJ 图标 - http://snag.gy/VBa6c.jpg 然后所有的应用程序交互都围绕着通知图标。示例:应用程序在悬停时加载。右键单击设置和选项等。
加载主表单后,例如,将鼠标悬停在“主标签”上,左侧的白色表单就会出现,依此类推。没什么。http://snag.gy/excKr.jpg
经常访问的项目当前存储在名为 appClickCount 的数据库中,这将脱离数据库并采用另一种推荐的数据存储方式。但是当我最初添加数据库时,我注意到主表单加载有些滞后。填充经常访问的项目列表等需要 5-7 秒。所以我将代码从 mainWindow.show() 更改为 mainWindow.visible()。对我来说效果很好。打开和关闭非常快。但是今天经过测试人员的一些使用后,该应用程序变得几乎没有响应。他多次点击通知图标,应用程序无法加载。然后抛出一个 SQL 超时错误。一天结束了,我无法截取屏幕截图。
我需要使它更可靠。
前几天在 SO 上进行了一些讨论后,我与建议我用 C# WPF 重新编写应用程序的人交谈,这绝对是计划。但是我需要这个东西来通过测试,就像本周在 VB 中一样。我可以从哪里开始解决打开延迟的问题?您对改进应用程序还有哪些其他建议?我是否需要先加载一个不可见的表单才能访问系统托盘图标,还是有更好的方法?
我最近在这里和很多人谈过,得到了一些非常好的建议,我想我会把它全部放在这里,看看你们能给一个新人什么意见......我也要去挂如果您有任何进一步的问题,C# 空间一点点。