保存大小设置导致表单有时不出现

时间:2017-12-14 19:17:48

标签: vb.net visual-studio-2013

我有多个应用程序可以保存大小设置。我将它们保存在表单关闭事件中并在表单加载时恢复。对于大约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

非常感谢任何帮助。我觉得我在追逐幽灵。

0 个答案:

没有答案