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