丢失焦点时关闭Windows SplashScreen会抛出Win32Exception

时间:2013-02-07 12:49:39

标签: wpf .net-3.5 splash-screen

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

  

System.ComponentModel.Win32Exception未处理。消息=“操作成功完成”

我发现这与失去焦点有关,这是.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

0 个答案:

没有答案