C# 需要用于web浏览器控件的默认搜索引擎

C# 需要用于web浏览器控件的默认搜索引擎,c#,windows-phone-7,C#,Windows Phone 7,我已经使用web浏览器控件为windows phone 7创建了一个web浏览器应用程序。我想添加一个默认搜索引擎(即,一个用于谷歌搜索或必应搜索的文本框)。此外,如果用户键入任何内容(如技术等),搜索应重定向到上述默认搜索引擎。有人能帮我吗??? 我用于输入URL的文本框命名为“UrlTextBox”,我的web浏览器控件命名为“browsers”。文本框用于搜索引擎,命名为“SearchTextBox”。 提前感谢您的辛勤工作 public void browsers_Navigat

我已经使用web浏览器控件为windows phone 7创建了一个web浏览器应用程序。我想添加一个默认搜索引擎(即,一个用于谷歌搜索或必应搜索的文本框)。此外,如果用户键入任何内容(如技术等),搜索应重定向到上述默认搜索引擎。有人能帮我吗??? 我用于输入URL的文本框命名为“UrlTextBox”,我的web浏览器控件命名为“browsers”。文本框用于搜索引擎,命名为“SearchTextBox”。 提前感谢您的辛勤工作

    public void browsers_Navigating(object sender, NavigatingEventArgs e)
    {
        UrlTextBox.Text = e.Uri.ToString();
        if (navigationcancelled)
        { e.Cancel = true; }

        SearchEngine[] availableSearchEngines = new SearchEngine[]
        {new SearchEngine(){ Name = "Google", URLPattern = "http://www.google.com/search?q={0}" }};
         new SearchEngine(){ Name = "Yahoo", URLPattern = "http://search.yahoo.com/search?p={0}" };
         new SearchEngine(){ Name = "Bing", URLPattern = "http://www.bing.com/search?q={0}" };
    }
URL文本框-:

    private void UrlTextBox_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Enter)
        {
            Uri url;
            if (Uri.TryCreate(UrlTextBox.Text, UriKind.Absolute, out url))
            {
                this.urls[this.currentIndex] = UrlTextBox.Text;
                this.browsers[this.currentIndex].Navigate(url);
            }

            if (!Uri.TryCreate(UrlTextBox.Text, UriKind.Absolute, out url))
            {
                SearchEngine defaultSearchEngine = availableSeachEngines[0];
                String URL = String.Format(defaultSearchEngine.URLPattern, UrlTextBox.Text);
            }

            else
            {
                Navigate(UrlTextBox.Text);
            }
        }
    }
但是有一个错误是“可用的搜索引擎”--> 当前上下文中不存在可用的搜索引擎名称


现在我已经在上面添加了我在程序中使用的代码,还添加了Muaz Othman代码。但这对我不起作用,也显示了错误。我想我犯了一些错误。有人能纠正它吗???提前感谢

您可以创建如下类:

public class SearchEngine {

    public string Name {set; get}
    public string URLPattern { get; set;}

    public override string ToString(){
        return Name;
    }
}
在代码中,您可以使用以下数组:

SearchEngine[] availableSearchEngines = new SearchEngine[]{
    new SearchEngine(){ Name = "Google", URLPattern = "http://www.google.com/search?q={0}" };
    new SearchEngine(){ Name = "Yahoo", URLPattern = "http://search.yahoo.com/search?p={0}" };
    new SearchEngine(){ Name = "Bing", URLPattern = "http://www.bing.com/search?q={0}" };
}
但在代码中,您应该只有一个
搜索引擎
对象:

SearchEngine defaultSearchEngine;
因此,当用户输入文本并选择“Go”时,您将检查输入的文本是否是有效的URL(可能使用正则表达式),如果不是,则执行以下操作:

String url = String.Format(defaultSearchEngine.URLPattern, SearchTextBox.Text);

您可以创建如下所示的类:

public class SearchEngine {

    public string Name {set; get}
    public string URLPattern { get; set;}

    public override string ToString(){
        return Name;
    }
}
在代码中,您可以使用以下数组:

SearchEngine[] availableSearchEngines = new SearchEngine[]{
    new SearchEngine(){ Name = "Google", URLPattern = "http://www.google.com/search?q={0}" };
    new SearchEngine(){ Name = "Yahoo", URLPattern = "http://search.yahoo.com/search?p={0}" };
    new SearchEngine(){ Name = "Bing", URLPattern = "http://www.bing.com/search?q={0}" };
}
但在代码中,您应该只有一个
搜索引擎
对象:

SearchEngine defaultSearchEngine;
因此,当用户输入文本并选择“Go”时,您将检查输入的文本是否是有效的URL(可能使用正则表达式),如果不是,则执行以下操作:

String url = String.Format(defaultSearchEngine.URLPattern, SearchTextBox.Text);

现在我已经创建了一个搜索引擎类,但我不知道第二步和第四步代码放在哪里。你能帮我吗?对不起,我是新来的!!!谢谢你的辛勤工作!!!当然:第二部分(数组)可以作为数据成员放入
浏览器
类中,然后您可以在搜索按钮中键入此代码:
搜索引擎默认搜索引擎=可用搜索引擎[0];字符串url=String.Format(defaultSearchEngine.URLPattern,SearchTextBox.Text)这对我不起作用,穆兹,你有任何样本,这样我就可以很容易地理解了!!!您能告诉我如何将搜索引擎与UrlTextBox集成(即,当用户只键入一个单词时)页面应该导航到google search???实际上我没有使用任何外部搜索按钮,而是使用设备键盘的enter键作为搜索按钮。现在我创建了一个搜索引擎类,但我不知道第二步和第四步代码放在哪里。你能帮我吗?对不起,我是新来的!!!谢谢你的辛勤工作!!!当然:第二部分(数组)可以作为数据成员放入
浏览器
类中,然后您可以在搜索按钮中键入此代码:
搜索引擎默认搜索引擎=可用搜索引擎[0];字符串url=String.Format(defaultSearchEngine.URLPattern,SearchTextBox.Text)这对我不起作用,穆兹,你有任何样本,这样我就可以很容易地理解了!!!你能告诉我如何将搜索引擎与UrlTextBox集成(即,当用户只键入一个单词时),页面应该导航到google search???实际上我没有使用任何外部搜索按钮,而是使用设备键盘的enter键作为搜索按钮。