需要c# Winforms自定义web浏览器控件

本文关键字:浏览器 控件 web 自定义 Winforms 需要 | 更新日期: 2023-09-27 17:53:51

我最近一直在网上搜索一个现有的控件,它的作用就像一个web浏览器控件,具有一些我需要的特定功能。

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

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

我还需要能够捕获控件上的单击事件。例如,我想单击控件上的特定位置,并获得位于鼠标位置的HTML元素。关于事件,我还需要能够捕获拖放操作,而浏览器控件本身似乎也不支持此功能。

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

提前感谢您的帮助

需要c# Winforms自定义web浏览器控件

两个建议:

在浏览器的客户端有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/