C# 当地址为“时,如何在WebBrowser控件中显示HTML字符串”;关于:空白“;

C# 当地址为“时,如何在WebBrowser控件中显示HTML字符串”;关于:空白“;,c#,winforms,webbrowser-control,C#,Winforms,Webbrowser Control,我想在webbrowser控件中写入一个特定字符串(例如帮助说明),当它导航到“about:blank”时,我可以使用DocumentText在Form\u Load中写入字符串,并自动导航到“about:blank” 但是现在,如果用户刷新webbrowser控件,它将显示一个空白页。每当地址为“about:blank”时,我希望它再次显示我的字符串。将我的字符串放入webbrowser控件的最佳位置在哪里?文档只需重新加载当前页面,这样在调用该方法时不会发生、和事件 使用Navigating

我想在webbrowser控件中写入一个特定字符串(例如帮助说明),当它导航到“about:blank”时,我可以使用
DocumentText
Form\u Load
中写入字符串,并自动导航到“about:blank”

但是现在,如果用户刷新webbrowser控件,它将显示一个空白页。每当地址为“about:blank”时,我希望它再次显示我的字符串。将我的字符串放入webbrowser控件的最佳位置在哪里?

文档只需重新加载当前页面,这样在调用该方法时不会发生、和事件

使用
Navigating
Navigated
事件,您应该检查浏览器是否正在导航或导航到
about:blank
,然后禁用用户刷新页面的方式,包括浏览器快捷键、浏览器上下文菜单或任何其他点,如您创建或刷新的自定义工具栏按钮和上下文菜单

对于其他URL,请再次启用它们

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    var state = (e.Url.ToString().ToLower() == "about:blank");
    this.webBrowser1.WebBrowserShortcutsEnabled = !state;
    this.webBrowser1.IsWebBrowserContextMenuEnabled = !state;
}

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    var content = "Custom Content";
    if (e.Url.ToString().ToLower() == "about:blank" &&
        this.webBrowser1.DocumentText != content)
    {
        this.webBrowser1.DocumentText = content;
    }
}
private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    var state = (e.Url.ToString().ToLower() == "about:blank");
    this.webBrowser1.WebBrowserShortcutsEnabled = !state;
    this.webBrowser1.IsWebBrowserContextMenuEnabled = !state;
}

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    var content = "Custom Content";
    if (e.Url.ToString().ToLower() == "about:blank" &&
        this.webBrowser1.DocumentText != content)
    {
        this.webBrowser1.DocumentText = content;
    }
}