2

在我们的应用程序中,我们为登录屏幕的初始加载打开了一个启动屏幕,这个登录屏幕显示为异步的。当我们关闭启动画面时,有时会出现以下错误:

System.ComponentModel.Win32Exception 未处理。Message="操作成功完成"

我发现这与失去焦点有关,这是 .net 3.5 中的一个已知错误。但是我没有在我的代码中找到解决此问题的解决方案。而且我们无法将应用程序升级到 4.0。

我已经尝试过:Application.Current.MainWindow.Focus()但这不起作用,因为由于异步调用,我不在正确的线程上

我希望有人以前遇到过这个问题,并且可以为我提供一个解决这个错误的工作。

这是代码,启动画面来自system.windows.dll

    Public Sub New(ByVal splashResourceName As String)

        logonSplash = New SplashScreen(splashResourceName)
        logonSplash.Show(False)

        InitializeComponent()
        GetAllInfo()
        DataContext = context

    End Sub

    Private Sub LoginDialog_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded

        'Focus()
        If logonSplash IsNot Nothing Then
            logonSplash.Close(Nothing)
            logonSplash = Nothing
        End If

        txtPassword.Focus()

    End Sub
4

0 回答 0