我有多个应用程序可以保存大小设置。我将它们保存在表单关闭事件中并在表单加载时恢复。对于大约10%的用户,该程序将工作一到两周,然后它将不会显示表单,而其他90%的程序一直正常工作。程序加载并显示在状态栏上,但不显示任何表格。
我知道这是导致问题的代码,因为在一个程序中我删除了所有这些代码并删除了\ appdata \ local文件夹中的配置文件。一旦完成,错误永远不会返回。我非常喜欢这个功能,并希望它能够为100%的用户提供服务。
我正在使用Visual Studio 2013并为Windows 7和Windows 10用户编程。我们有32位和64位的机器。它发生在两种类型的机器上,并且在两种类型的机器上都没有出错。
我做了一些研究并阅读了一个建议来尝试跟踪未处理的异常。我创建了以下Application事件,但在发生此错误时它没有显示任何内容。
Private Sub MyApplication_UnhandledException(sender As Object, e As ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
e.ExitApplication = _
MessageBox.Show(e.Exception.Message & _
vbCrLf & "Continue?", "Continue?", _
MessageBoxButtons.YesNo, _
MessageBoxIcon.Question) _
= DialogResult.No
End Sub
要加载设置我的代码是:
Private Sub frmSearch_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If My.Settings.SearchSize <> System.Drawing.Size.Empty Then
Me.Size = My.Settings.SearchSize
End If
End Sub
保存我的代码是:
Private Sub Search_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If Me.WindowState = FormWindowState.Normal Then
My.Settings.SearchSize = Me.Size
Else
My.Settings.SearchSize = Me.RestoreBounds.Size
End If
End Sub
非常感谢任何帮助。我觉得我在追逐幽灵。