我在尝试从C#的WebBrowser中获取文档标题时遇到了问题。在VB.NET中可以正常工作,但在C#中不会给我任何属性。
当我键入MyBrowser.Document.时,我只得到4个方法的选项:Equals、GetHashCode、GetType和ToString - 没有属性。
我认为这是因为我必须先将文档分配给一个新实例,但我找不到在VB.NET中存在的HTMLDocument类。
基本上我想要做的是每次WebBrowser加载/重新加载页面时返回Document.Title。
有人能帮忙吗?非常感谢!
这是我目前拥有的代码...
private void Link_Click(object sender, RoutedEventArgs e)
{
WebBrowser tempBrowser = new WebBrowser();
tempBrowser.HorizontalAlignment = HorizontalAlignment.Left;
tempBrowser.Margin = new Thickness(-4, -4, -4, -4);
tempBrowser.Name = "MyBrowser";
tempBrowser.VerticalAlignment = VerticalAlignment.Top;
tempBrowser.LoadCompleted += new System.Windows.Navigation.LoadCompletedEventHandler(tempBrowser_LoadCompleted);
tempTab.Content = tempBrowser; // this is just a TabControl that contains the WebBrowser
Uri tempURI = new Uri("http://www.google.com");
tempBrowser.Navigate(tempURI);
}
private void tempBrowser_LoadCompleted(object sender, EventArgs e)
{
if (sender is WebBrowser)
{
MessageBox.Show("Test");
currentBrowser = (WebBrowser)sender;
System.Windows.Forms.HtmlDocument tempDoc = (System.Windows.Forms.HtmlDocument)currentBrowser.Document;
MessageBox.Show(tempDoc.Title);
}
}
这段代码没有任何错误,但我从未看到第二个消息框。尽管如此,我确实看到了第一个消息框(即“测试”消息),因此程序已经执行了该代码块。