gpt4 book ai didi

c# - 如何检测 WebBrowser 控件的内容何时发生更改(在设计模式下)?

转载 作者:太空狗 更新时间:2023-10-30 00:54:55 24 4
gpt4 key购买 nike

我在设计模式下使用 WebBrowser 控件。

webBrowser1.DocumentText = "<html><body></body></html>";
doc = webBrowser1.Document.DomDocument as IHTMLDocument2;
doc.designMode = "On";

我有一个保存按钮,我想根据控件的内容是否已更改来启用或禁用它。

我还需要知道控件的内容何时更改,因为我需要阻止用户离开控件而不接受确认消息框,说明他们的更改将丢失。

我找不到任何让我知道内容已更改的事件。

最佳答案

没有这样的事件,因为 DocumentText 是一个简单的字符串。我会创建一个字符串变量来存储最后保存的文本,并在每个 KeyDown/MouseDown/Navigating 事件中检查它。

string lastSaved;

private void Form_Load(object sender, System.EventArgs e)
{
// Load the form then save WebBrowser text
this.lastSaved = this.webBrowser1.DocumentText;
}

private void webBrowser1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
// Check if it changed
if (this.lastSaved != this.webBrowser1.DocumentText)
{
// TODO: changed, enable save button
this.lastSaved = this.webBrowser1.DocumentText;
}
}

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
// Check if it changed
if (this.lastSaved != this.webBrowser1.DocumentText)
{
// TODO: ask user if he wants to save
// You can set e.Cancel = true to cancel loading the next page
}
}

关于c# - 如何检测 WebBrowser 控件的内容何时发生更改(在设计模式下)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11135743/

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