Как я могу заставить элемент управления WebBrowser переходить по определенному адресу? - PullRequest
0 голосов
/ 25 декабря 2010

Как я могу сделать код при запуске кода, перейдите на example.com

private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
    webBrowser1.Navigate("www.example.com");
}

Пожалуйста, исправьте его при запуске программы перейдите на example.com

private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
    webBrowser1.Navigate("www.example.com");
}

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    if (webBrowser1.Document != null)
    {
        IHTMLDocument2 document = webBrowser1.Document.DomDocument as IHTMLDocument2;
        if (document != null)
        {
            IHTMLSelectionObject currentSelection = document.selection;    
            IHTMLTxtRange range = currentSelection.createRange() as IHTMLTxtRange;
            if (range != null)
            {
                const String search = "ant";
                if (range.findText(search, search.Length, 2))
                {
                    range.select();
                }
            }
        }
    }              
}

Ответы [ 4 ]

1 голос
/ 25 декабря 2010
public Form1()
{
    InitializeComponent();
    webBrowser1.Navigate("http://www.example.com"); 
}

Этот метод навигации выполняется после инициализации приложения.

1 голос
/ 25 декабря 2010

Я не уверен, что понимаю ваш вопрос: переменная e в методе webBrowser1_DocumentCompleted содержит свойство Url, которое содержит текущий объект Uri с URL-адресом, на котором находится элемент управления браузера. прибыл:

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    WebBrowser browser = (WebBrowser)sender;
    if (e.Url.Host.EndsWith("example.com"))
    {
        // do something
    }
}
1 голос
/ 25 декабря 2010

Вам необходимо обработать событие Load вашей формы (Form1), если вы хотите, чтобы элемент управления WebBrowser автоматически переходил на www.example.com всякий раз, когда ваша форма отображается наscreen.

Как написано сейчас, вы обрабатываете событие Navigated элемента управления WebBrowser и указываете ему перемещаться куда-то еще.Однако событие Navigated возникает только тогда, когда браузер перешел на и начал загружать новую страницу.Даже если ваш код заработает, он будет постоянно гоняться за собственным хвостом.

Вместо этого попробуйте следующее:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        webBrowser1.Navigate("http://www.example.com"); 
    }
}
1 голос
/ 25 декабря 2010

Можете ли вы перейти на example.com на мероприятии Form.Load?На моей машине все работает нормально.

private void Form1_Load(object sender, EventArgs e)
{
    webBrowser1.Navigate("www.example.com"); 
}
...