2009-09-18 148 views
2

如何使用WPF中的WebBrowser控件来使用搜索引擎的uri和输入键进行导航?WebBrowser - 使用搜索引擎uri和输入关键字搜索?

例如,如果我有以下功能

private void Search(Uri uri, string keyword) 
{ 
} 

我怎样才能concatnate URI和关键字作为苏哈URI = www.google.com和关键字= WPF。 我想在窗口中搜索'WPF'的结果吗?

+1

您可能已创造了传奇300,000篇文章。呜! – 2009-09-18 09:09:21

+1

仍然没有答案... – 2009-09-18 11:56:21

回答

10

右键。

什么,你需要做的是从您要使用的主要提供者获得“搜索字符串”,例如与谷歌,它会是这样的:

string.Format("http://www.google.com/search?q={0}", "GoogleMe");

而对于,这会工作:

string.Format("http://www.bing.com/search?q={0}", "BingMe");

雅虎

string.Format("http://search.yahoo.com/search?p={0}", "YahooMe");

以下的其他搜索引擎相同的模式。示例如下:

private void Window_Loaded(object sender, RoutedEventArgs e) 
{ 
    Search(SearchProvider.Google, "StackOverflow"); 
} 

private void Search(SearchProvider provider, string keyword) 
{ 
    Uri UriToNavigate = null; 

    switch (provider) 
    { 
     case SearchProvider.Google: 
      { 
       UriToNavigate = new Uri(
        string.Format("http://www.google.com/search?q={0}", keyword));       
       break; 
      } 
     case SearchProvider.Bing: 
      { 
       UriToNavigate = new Uri(
        string.Format("http://www.bing.com/search?q={0}", keyword)); 
       break; 
      } 
     case SearchProvider.Yahoo: 
      { 
       UriToNavigate = new Uri(
        string.Format("http://search.yahoo.com/search?p={0}", keyword)); 
       break; 
      } 
    } 

    Browser.Navigate(UriToNavigate); 
} 


enum SearchProvider 
{ 
    Google = 0, 
    Bing = 1, 
    Yahoo = 2, 
} 
+0

请记住,您可能还需要对搜索字符串进行网址编码。 – rossisdead 2009-09-29 02:44:21