作者:光脚丫思考 时间:12/23/2009 1:51:00 PM
一开始就觉得HTML编辑器这玩意应该是很高深莫测的。随随便便就想整一个应该不是一件容易的事情。后来对WebBrowser控件有了一些了解,不过都是很肤浅的了解。只知道用这个控件就能够在自己的程序中搞一个WEB浏览器之类的东西,从来没有想过HTML编辑器也可以使用这个控件来实现。也就是说这个WebBrowser控件不仅仅能够用来显示HTML文档,而且也可以用来编辑HTML文档。当然了,这些功能微软已经都提供给我们了。所需要做的就是按照那个规则去编写自己的代码了。我想HTML编辑器的实现方式不应该只有这一种,只是咱不会就是了!^_^
先来看看我自己实现的这个小软件,界面如下图:
超级简单的小软件吧!
那个【文字下拉列表】是用来修改字体的,【加粗】按钮是用来将字体加粗,或者让其减肥的,【下划线】按钮则是为选中的文字加减下划线的。最后那个【显示源码】按钮主要是为了看看修改之前和修改之后的HTML源码都做了那些改变。其他就没什么了。
下方的那块大的空白区域,就是WebBrowser控件了,既是用来显示HTML文档,也是用来编辑HTML文档的,在这里只用作编辑器。
接着来看源代码吧……
默认情况下,WebBrowser并没有处于编辑模式,所以还不能对其文档进行编辑处理的。为了使其处于编辑状态,可以在窗体加载事件的方法中添加如下代码:
特别注意那个绿粗线画的部分(EditMode),这是关键点。不过似乎也不要忽略了为DocumentText赋值,不要让这个值为null,否则的话连Document也null了,到时想要执行ExecCommand这个方法那是不成的。这点是在我编写代码的时候无意发现的,它给我异常了。
有了上面这段代码,然后就会发现WebBrowser可以进行编辑了,开始有点像TextBox了,能够输入文字之类的东西了。
至于如何从系统中获取所有的字体,并且将它添加到下拉列表中等等之类的代码就自己去看吧。接下来要看的是如何修改文档。先阅读下面的代码:
这段代码是那个【加粗】按钮的Click事件处理代码。其中使用了Document对象的ExecCommand方法。第一个参数指定了要设置Bold,也就是字体的粗细。第三个参数是用来为第一个参数指定的属性设置的值。Bold不需要这个参数值,所以为null。有些属性需要这个值,比如FontName,在这个参数中就需要指定字体。具体细节参考MSDN。
说到这里,基本上也就明白是怎么回事了。
那么可以设置的属性都有那些呢?可以去这个网站自行查看:
http://msdn.microsoft.com/en-us/library/ms533049(VS.85).aspx
有很多很多的!^_^
最后将完整代码附上:
分享到:
相关推荐
用c#模仿word编写的文档编辑器 可以实现自动换行,字体颜色的改变,字体形状的变化等
用C#编写的一个简单的文本编辑器,仿照记事本写的
这是用C#编写的一个文本编辑器,希望对初学C#的同学能够有所帮助!
C# 编写的文本编辑器源码 简单的文本编辑器源码
用c# 编写的文本编辑器 控件使用,保存,新建,另存为,退出,可实现剪切,粘贴
C#写的一个编辑器 想写编辑器的同学可以看看
C#编写的文章编辑器HtmlTextBox(asp.net).rar
用C#编写的文本编辑器,可以实现保存,打开,新建,剪切,粘贴,查找,替换等功能
C# 编写的歌词编辑器 可以用它把MiniLyric的歌词提取出来 使用正则表达式。
c#编写IVR流程编辑器 大家共同学习,共同进步
闲的没事,使用c#+.Net(Winform窗体)编写的鼠标连点器。 工具描述: 鼠标自动点击工具,可自行设置鼠标点击速度、鼠标点击位置、支持热键快捷键(开启\结束)连点器、支持自己编辑热键快捷键。
C#开发的一个简单的SVG文件编辑器,可以创建、编辑SVG文件,编辑器可以添加各种图层、形状并修改属性。SVG文件的一些基本操作。
教你编写,但无附加代码,适合学习C#,想自己动手的人
从codeproject上下载的很不错的资源。
vs2010 建的工程,用08的就自己改工程吧,之前上传的XML编辑器带有第三方控件,没想到挺多人下了,所以重新发了个不带第三方控件的版本。不过没有多次测试,可能存在一些BUG。
这是用C#语言编写的一个简单的文本编辑器,用于实现基本的文件编辑功能。
该文档编辑器,至少完成以下功能: 文件:(新建、打开、保存、退出) 编辑:(复制、剪切、粘贴、全选) 格式:(自动换行、字体、颜色),格式的设置功能要区分是设置当前块的格式还是设置所有内容的格式。 界面...
用winform编写的简易图形编辑器,画多种图形,有移动、旋转图片等功能,可打开,保存矢量图
一个基于C#语言的winform应用程序,类似于系统自带的注册表编辑器,实现注册表查看及基本修改功能。
c#编写的文本编辑器源代码,可以直接运行。 c#编写的文本编辑器源代码,可以直接运行。