需要c# Winforms自定义web浏览器控件
本文关键字:浏览器 控件 web 自定义 Winforms 需要 | 更新日期: 2023-09-27 17:53:51
我最近一直在网上搜索一个现有的控件,它的作用就像一个web浏览器控件,具有一些我需要的特定功能。
我还没有找到一个有它们的,所以我想在这里留下一个问题,希望有人能指出我如何做到这一点,或者甚至给我一些关于如何从头开始创建一个的提示,这将最终成为解决方案。
我需要一个允许我预览网页的控件,同时它允许我以编程方式编辑它。我不需要直接在编辑器中编写HTML或文本,但需要能够单击按钮,并向文档插入特定的HTML代码,并刷新预览。
我还需要能够捕获控件上的单击事件。例如,我想单击控件上的特定位置,并获得位于鼠标位置的HTML元素。关于事件,我还需要能够捕获拖放操作,而浏览器控件本身似乎也不支持此功能。
尽管我已经尝试了一些不同的控件,但没有一个具有这些功能,或者允许我添加它们。所以,如果有人能给我指出正确的方向,或者如果我错误地认为它不能用任何现有的。net控件完成,我将非常感激。
提前感谢您的帮助
两个建议:
在浏览器的客户端有DOM访问器,可以让您通过鼠标位置获取HTML。查看此页面以获得演示:
http://www.permadi.com/tutorial/cssGetElementUnderMouse/index.html假设你可以把javascript写进你的HTML中,它会有钩子来引发你的父UI代码中的事件,这些事件反过来可以与浏览器交互。从DOM中获取HTML元素名称,并将其传递回UI, UI将其用作HTMLDocument中的光标,这将是一个很好的开始。
从那里你可以扩展这个模型来支持像拖放或即时刷新之类的想法。
我不知道有什么东西能做到这一点。我确实四处看了看,发现了这个工具,它自称免费并提供源代码,但是我不知道它的许可模型是什么,所以联系作者
http://kompozer.net/features.php据我所知,没有这样的控制。此外,从头开始编写一个正确呈现所有现代HTML/CSS的程序将是一项重大任务。
即使是像Microsoft Expression这样的产品,在显示正在编辑的HTML的方式上也往往有一些怪癖。
恐怕你的工作很困难。
查看http://www.modeltext.com/html/