在我的项目中,我使用的是 Web 浏览器控件。我还可以使用以下帮助在同一浏览器控件中处理新窗口,以便回答:
但我面临的问题是,如果我提交的表单在新窗口中打开但不起作用。
我注意到 SHDocVw Newwindow 事件具有 PostData(作为对象)参数,但 webbrowser 控件需要 PostData 作为字节数组。
SHDocVw Newwindow事件参数:
(URL As String, Flags As Integer, TargetFrameName As String, ByRef PostData As Object, Headers As String, ByRef Processed As Boolean)
网页浏览器控件导航参数:
(string source, string targetFrameName, byte[] postData, string additionalHeaders);
As Asked Here is My Code: (但由于它与提到的 SO 答案相同,我认为这没有任何帮助)
Private Sub Web_V1_NewWindow(URL As String, Flags As Integer, TargetFrameName As String, ByRef PostData As Object, Headers As String, ByRef Processed As Boolean) Handles Web_V1.NewWindow
Processed = True
webMain.Navigate(URL)
End Sub
所以,我的问题是如何将 postdata 对象转换为 bytearray 以便 webbrowser 控件可以正确处理提交的表单/数据?