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