我正在使用InteropFormsToolkit 2.1版。我试图确保当.NET表单从VB6表单上抛出的事件加载时,.NET表单可以保持在最顶层。我尝试了很多东西,但却无法完成任何工作。我已经尝试了从z-index到将User32.dll添加到User32.dll以将其推送到最前端等所有内容。
任何想法都表示赞赏。
答案 0 :(得分:1)
在vb6中,您可以使用:
Private Sub Form_Load()
OnTopMe Me, True
End Sub
并按照模块中的代码
Declare Function SetWindowPos Lib "User32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cX As Long, ByVal cY As Long, ByVal wFlags As Long) As Long
Public Sub OnTopMe(FormID As Object, onTop As Boolean)
If onTop = True Then SetWindowPos FormID.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
If onTop = False Then SetWindowPos FormID.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
End Sub
我不知道如何在.Net
中做到这一点