VB2005初始屏幕问题
请问大家有没有遇过这样的问题,VB2005,程序使用了初始屏幕(该窗体是新建VB里自带的,本人没加上任何代码),编译出来使用时,当初始屏幕关闭后,显示Mdi窗体,但不知道什么问题,Mdi窗体没有显示在屏幕的最前方.如果不加载初始屏幕就正常.
搞到现在要把Mdi窗的TopMost设为Ture才可以.请问是什么回事?
[解决办法]
仅供参考,那些API你自己找一些,并不难找到:
' ' ' <summary>
' ' ' 窗口前置
' ' ' </summary>
Public Shared Function SetForceForeground(ByVal form As Form) As Boolean
Return SetForceForeground(form.Handle)
End Function
' ' ' <summary>
' ' ' 窗口前置
' ' ' </summary>
Public Shared Function SetForceForeground(ByVal hWnd As IntPtr) As Boolean
Dim mCurrentHandle As IntPtr = GetCurrentHandle()
If hWnd = mCurrentHandle Then Return True
Dim ThreadID1 As Integer
Dim ThreadID2 As Integer
Dim nRet As Integer
'
ThreadID1 = GetProcessID(mCurrentHandle)
ThreadID2 = GetProcessID(hWnd)
If ThreadID1 <> ThreadID2 Then
UnsafeNativeMethods.AttachThreadInput(ThreadID1, ThreadID2, True)
nRet = UnsafeNativeMethods.SetForegroundWindow(hWnd)
UnsafeNativeMethods.AttachThreadInput(ThreadID1, ThreadID2, False)
Else
nRet = UnsafeNativeMethods.SetForegroundWindow(hWnd)
End If
If IsIconic(hWnd) Then
UnsafeNativeMethods.ShowWindow(hWnd, SW_RESTORE)
Else
UnsafeNativeMethods.ShowWindow(hWnd, SW_SHOW)
End If
Return CBool(nRet)
End Function