void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
 {
     try
     {
         IHtmlViewSchemeExtension extension = GetScheme(e.Url.Scheme);
         if (extension != null)
         {
             extension.InterceptNavigate(this, e);
             if (e.TargetFrameName.Length == 0)
             {
                 if (e.Cancel == true)
                 {
                     dummyUrl = e.Url.ToString();
                 }
                 else if (e.Url.ToString() != "about:blank")
                 {
                     dummyUrl = null;
                 }
             }
         }
     }
     catch (Exception ex)
     {
         //MessageService.ShowError(ex);
         MessageBox.Show(ex.Message);
     }
 }
        public void GoSearch()
        {
            IHtmlViewSchemeExtension extension = GetScheme(Url.Scheme);

            if (extension != null)
            {
                extension.GoSearch(this);
            }
            else
            {
                Navigate(DefaultSearchUrl);
            }
        }
        public void GoHome()
        {
            IHtmlViewSchemeExtension extension = GetScheme(Url.Scheme);

            if (extension != null)
            {
                extension.GoHome(this);
            }
            else
            {
                Navigate(DefaultHomepage);
            }
        }
 void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
 {
     try
     {
         if (dummyUrl != null && e.Url.ToString() == "about:blank")
         {
             e = new WebBrowserDocumentCompletedEventArgs(new Uri(dummyUrl));
         }
         IHtmlViewSchemeExtension extension = GetScheme(e.Url.Scheme);
         if (extension != null)
         {
             extension.DocumentCompleted(this, e);
         }
     }
     catch (Exception ex)
     {
         //MessageService.ShowError(ex);
         MessageBox.Show(ex.Message);
     }
 }