【问题标题】:Web browser control: Detecting changes in form contentWeb 浏览器控件:检测表单内容的变化
【发布时间】:2010-03-26 23:53:22
【问题描述】:

表单包含许多元素,例如标签、文本框、单选框等

您如何检测到用户更改了文本框输入值,或在 Web 浏览器控件的内容中选择了单选选项?(不是 winform 本身)。

当鼠标点击或键盘按键按下时,您是否处理 winform 事件?还是有更好的方法来检测网络浏览器内容的变化?

【问题讨论】:

  • 我读到你说得很清楚,检测 WebBrowser 控件内部的变化是一个目标:但是当你询问 WinForms 事件、鼠标单击、按键时,我不确定你现在是否在谈论WebBrowser 控件不再具有“焦点”和表单上的“某物”的场景正在接收这些事件。你能澄清一下吗?看看我对这个问题的回答stackoverflow.com/questions/2474586/… 关于使用 WebBrowser 'PreviewKeyDown 事件:可能是相关的。

标签: c# winforms webbrowser-control


【解决方案1】:

有一些“快速简单”的方法,但恕我直言,更好的方法是将表单的状态加载到 javascript 变量中(加载时),然后在导航离开时仅比较您感兴趣的元素,或者随便。

例如,可能有一些不太相关的字段(例如,次要下拉框中的不同值)但有些非常重要(即此消息框的内容)。

无论如何,这都是微不足道的;只需检查您当前拥有的值(在您正在捕获的给定事件上,即浏览器关闭),然后将它们与您保存的值进行比较。

【讨论】:

  • 如何为按键或鼠标移动事件执行此操作?---------------- if (webBrowser1..Document.GetElementById("NAME"). GetAttribute("value") != strDefaultNameValue){ // 字段已更改 }
  • 每次按键都这样做似乎有点浪费,不是吗?
猜你喜欢
  • 1970-01-01
  • 2013-12-10
  • 1970-01-01
  • 2011-06-12
  • 1970-01-01
  • 2011-03-30
  • 2012-09-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多