WebBrowser - Поиск с использованием поисковой системы URI и ввода ключевого слова? - PullRequest
2 голосов
/ 18 сентября 2009

Как можно использовать элемент управления WebBrowser в WPF для навигации по URI поисковой системы и клавише ввода?

Например, если у меня есть следующая функция

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

Как можно объединить Uri и ключевое слово, например Uri = www.google.com и Keyword = WPF. Я хочу получить результат поиска 'WPF' в окне?

1 Ответ

10 голосов
/ 22 сентября 2009

Righto.

Что вам нужно сделать, это получить «строку поиска» у основных провайдеров, которых вы хотите использовать, например, с google , это будет так:

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

А для Bing это будет работать:

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

Yahoo

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,
}
...