繁体   English   中英

C# Winforms 需要自定义 WebBrowser 控件

[英]C# Winforms Custom WebBrowser Control Needed

我最近一直在搜索 web 以查找现有控件,该控件类似于 web 浏览器控件,具有我需要的一些特定功能。

我还没有找到一个有它们的,所以我想在这里留下一个问题,希望有人能指出我如何做到这一点,或者甚至给我一些关于如何从头开始创建一个的提示,最终将是解决方案。

我需要一个允许我预览网页的控件,同时它允许我以编程方式对其进行编辑。 我不需要将 HTML 或文本直接写入编辑器,但需要能够单击一个按钮,并将特定的 HTML 代码插入到文档中,并刷新预览。

我还需要能够捕获控件上的点击事件。 例如,我想单击控件上的特定位置并获取位于鼠标 position 处的 HTML 元素。 关于事件,我还需要能够捕获拖放,而且浏览器控件本身似乎也不支持这一点。

尽管我已经尝试了一些不同的控件,但它们都没有这些功能,或者允许我添加它们。 所以,如果有人能指出我正确的方向,或者如果我错误地假设它不能用任何现有的 .NET 控件完成,我将非常感激。

预先感谢您的任何帮助。

两个建议:

在浏览器的客户端,有 DOM 访问器可以让您通过鼠标 position 获得 HTML。 查看此页面以进行演示:

http://www.permadi.com/tutorial/cssGetElementUnderMouse/index.html

据推测,您可以将 javascript 写入 HTML 中,其中包含挂钩以在您的父 UI 代码中引发事件,进而与浏览器交互。 从 DOM 中获取捕获 HTML 元素名称并将其传递回 UI 的内容,UI 将其用作 cursor 到 HTMLDocument 中,这将是一个好的开始。

从那里您可能可以扩展 model 以支持拖放或动态刷新或您拥有的想法。

我不知道有什么开箱即用的方法。 我确实环顾四周,发现了这个工具,它自称为免费并提供源代码,但我不知道它的许可证 model 是什么,所以请联系作者

http://kompozer.net/features.php

据我所知,没有这样的控制。 此外,从头开始编写一个能够正确呈现所有现代 HTML/CSS 的程序将是一项艰巨的任务。

即使是像 Microsoft Expression 这样的产品,在显示正在编辑的 HTML 的方式上也往往存在怪癖。

恐怕你的工作已经完成了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM