У меня есть элемент управления WebBrowser в форме.Suppress WebBrowser mailto
Я хочу, чтобы, когда пользователь нажмет на ссылку (href с mailto), он зарегистрируется на веб-сайте, на который была нажата кнопка, но не откроет новое окно (ни Outlook, ни какой-либо другой сайт).
Я нашел этот код, но он не работает:
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
TextReader tr = File.OpenText(webBrowser1.Url.ToString());
string htmlFile = tr.ReadToEnd();
tr.Close();
tr.Dispose();
if (htmlFile.Contains("mailto:"))
{
htmlFile = htmlFile.Replace("mailto:", @"mail");
//Recreate new file with fixed html
File.Delete(e.Url.LocalPath);
TextWriter tw = File.CreateText(e.Url.LocalPath);
tw.Write(htmlFile);
tw.Flush();
tw.Close();
tw.Dispose();
Refresh();
}
}
Ответ не должен быть, как исправить этот код, если есть более простой способ сделать это? Это будет лучше.
это работает для меня:
private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { //take the uri string, not sure is the right method name string uri = e.Url.AbsoluteUri; if (uri.StartsWith("mailto")) e.Cancel = true; }
– AlonMln