C#做的HTML编辑器一问题求教

whbindg2 2011-07-09 04:32:50
我使用WebBrowser做了一个HTML页面编辑器,
存在一个问题,例如HTML源码为:

……
<body>
<div>这里是个没有边框的DIV</div>
<div style="border:1px solid #000">这里是一个有边框的DIV</div>
</body>
……

如果DIV的边框为零,那么在WebBrowser设计界面下,将显示空白,很不方便

我现在的想法是不论DIV是否有边框,在设计界面下都让其周围显示一个虚线边框。
但是这个虚线的边框不会体现在代码中,之体现在设计界面中。

请高手给予帮助或思路提示谢谢!
...全文
85 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
whbindg2 2011-07-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sp1234 的回复:]
你说的这个是纯粹javascript编程,不用考虑别的东西。可以到html/javascript论坛去慢慢问。

不过你打算让webbrowser显示,那么必定反映在通过webbrowser获取的html内容上。只不过你可以通过代码(或者在javascript中操作DOM,或者在webbrowser的HtmlElements遍历)去除特定css类型的元素,把它的innerHTML拿出来然后替换……
[/Quote]

我刚研究了一下,最重要的问题的是:
WebBrowser在编辑模式下,JavaScript是不起作用的,
只有恢复到浏览模式JS才起作用。
我的代码如下:
div
{
border:expression(this.style.borderStyle=="" ? "1px dashed #666666" : null);
}
但是这段代码在WebBrowser的编辑模式下不执行,而且我尝试写了 aler('ddd');这么简单的JS语句在编辑模式下都是失效的,但在WBrowser的预览模式下是可以被执行的。
whbindg2 2011-07-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caozhy 的回复:]
不要用 WebBrowser,直接用 DHTMLEditor 来做。
[/Quote]

我到网上搜索了一下DHTMLEdit,但是在 .NET下没有找到使用DHTMLEDIT控件的任何实例或文章,在国外的论坛里发现有人也提问,这个控件在C#下的使用方法,但是回答都说这个控件微软已经不支持了,建议使用MSHTML。
whbindg2 2011-07-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sp1234 的回复:]
你说的这个是纯粹javascript编程,不用考虑别的东西。可以到html/javascript论坛去慢慢问。

不过你打算让webbrowser显示,那么必定反映在通过webbrowser获取的html内容上。只不过你可以通过代码(或者在javascript中操作DOM,或者在webbrowser的HtmlElements遍历)去除特定css类型的元素,把它的innerHTML拿出来然后替换……
[/Quote]

这个问题到是考虑过没有深入研究,请问当前很多的比较好的工作流软件的页面设计是否都是使用的这种方法?
showjim 2011-07-09
  • 打赏
  • 举报
回复
可以试试在css中给div定义一个默认样式
  • 打赏
  • 举报
回复
你说的这个是纯粹javascript编程,不用考虑别的东西。可以到html/javascript论坛去慢慢问。

不过你打算让webbrowser显示,那么必定反映在通过webbrowser获取的html内容上。只不过你可以通过代码(或者在javascript中操作DOM,或者在webbrowser的HtmlElements遍历)去除特定css类型的元素,把它的innerHTML拿出来然后替换掉元素。
threenewbee 2011-07-09
  • 打赏
  • 举报
回复
不要用 WebBrowser,直接用 DHTMLEditor 来做。

110,531

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧