gpt4 book ai didi

c# - 禁用可编辑的 WebBrowser 控件的保存对话框 C#

转载 作者:行者123 更新时间:2023-11-28 03:27:53 24 4
gpt4 key购买 nike

我希望你们能帮帮我。

我有一个用 C# 编写的应用程序,它使用 WebBrowser 控件来编辑 HTML 文件(在屏幕截图中标有 2),下面是初始化它的代码:

    htmlEditor.DocumentText = "";
doc = htmlEditor.Document.DomDocument as IHTMLDocument2;
doc.designMode = "On";
htmlEditor.Url = new Uri(Properties.Main.Default.tempDir + "\\section-1.html");

我还有一个 ListView 控件,它显示 HTML 文件列表(在屏幕截图中标有 1)。每次用户单击列表项时,都会触发一个事件,并且 webbrowser 控件会加载一个不同的 HTML 文件,下面是相关代码:

    private void sectionsTree_SelectedNodeChanged(object sender, RadTreeViewEventArgs e)
{
Sections.fileCheck();

if (sectionsTree.SelectedNode != null)
{
emDataSet.dtSectionsDataTable sectionsDT = new emDataSet.dtSectionsDataTable();
sectionsDT.ReadXml(Properties.Main.Default.tempDir + "\\sections.xml");

for (int i = 0; i < sectionsDT.Rows.Count; i++)
{
if (sectionsTree.SelectedNode.Text == sectionsDT.Rows[i][2].ToString())
{
htmlEditor.Url = new Uri(Properties.Main.Default.tempDir + "\\" + sectionsDT.Rows[i][1].ToString());
}
}
}
}

现在我的问题来了:因为在 webbrowser 控件中加载的 HTML 页面是可编辑的,每次我在列表中选择一个新项目时(并且在加载新的 HTML 文件之前)都会出现一个保存对话框(标记为 3 on截图)。我有自己的代码来保存更改后的 HTML 文件,由“更改”事件触发,如果有某种解决方案可以绕过、抑制、跳过或只是简单地隐藏此保存对话框,那就太好了,这样用户就赢了每次他想转到另一个文件时都需要单击它。这是变化的事件:

    private void sectionsTree_SelectedNodeChanging(object sender, RadTreeViewCancelEventArgs e)
{
Sections.fileCheck();

if (sectionsTree.SelectedNode != null)
{
emDataSet.dtSectionsDataTable sectionsDT = new emDataSet.dtSectionsDataTable();
sectionsDT.ReadXml(Properties.Main.Default.tempDir + "\\sections.xml");

for (int i = 0; i < sectionsDT.Rows.Count; i++)
{
if (sectionsTree.SelectedNode.Text == sectionsDT.Rows[i][2].ToString())
{
File.WriteAllText(Properties.Main.Default.tempDir + "\\" + sectionsDT.Rows[i][1].ToString(), htmlEditor.DocumentText);
}
}
}
}

我的看法是上面的代码没问题,与我的问题无关,因为,我的理解是问题出在WebBrowser控件的一个内置特性上,然而,只是有可能,它可能是在检查文件是否已更改之前拦截 WebBrowser 控件并保存它的解决方案,因此当它被检查时它不会触发保存对话框,但我还没有想出如何做到这一点。

enter image description here

我期待着您的所有答复,并随时提出任何问题。

谢谢,艾美特

最佳答案

你可以用这个

WebBrowser1.Document.ExecCommand(“刷新”, False, “”)

在此 http://www.spheregen.com/disable-save-dialog-in-webbrowser-editing/ 找到

希望能为你工作

关于c# - 禁用可编辑的 WebBrowser 控件的保存对话框 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20017115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com