我正在使用 InteropFormsToolkit 2.1 版。我试图确保当 .NET 表单从 VB6 表单上引发的事件加载时,.NET 表单可以保持在顶部。我已经尝试了很多东西,但什么都做不了。我已经尝试了从 z-index 到将托管调用添加到 User32.dll 以将其推到最前沿等的所有方法。
任何想法表示赞赏。
我正在使用 InteropFormsToolkit 2.1 版。我试图确保当 .NET 表单从 VB6 表单上引发的事件加载时,.NET 表单可以保持在顶部。我已经尝试了很多东西,但什么都做不了。我已经尝试了从 z-index 到将托管调用添加到 User32.dll 以将其推到最前沿等的所有方法。
任何想法表示赞赏。
在 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中做到这一点