C#生成CHM文件(应用篇)之代码库编辑器(2)

来源:Alexis的51博客 责任编辑:栏目编辑 发表时间:2013-07-01 13:56 点击:

在上一篇文章中,我大致介绍了代码编辑器里面的一些主要功能和大致实现方法,从这篇文章开始,我将会将里面涉及到的一些技术跟大家分享下。

更新下程序 AlexisEditor下载

看下程序的界面,有菜单里、工具栏,还有几个可以悬停的面板

程序的Soultion , 可以看到有三个项目,一个WinForm项目及两个类库项目,增加类库项目是为了更好的实现代码分离。

下面的两张图是主项目AlexisEditor的类关系图:

 

 

在来看看ChmHelper项目的类关系图(张图会在下面反复涉及)

 

Viusal Studio风格的界面的实现

 在上一篇文章中有介绍到Viusal Studio风格的界面,它的实现很简单,由上图我们看到有许多Form是继承自BaseDockForm的,而BaseDockForm是继承自DockContent的。

实现步骤如下:

添加 WeifenLuo.WinFormsUI.Docking.dll引用,新建BaseForm继承自WeifenLuo.WinFormsUI.Docking.DockContent。

在主界面中放置一个DockPanel,设置它的Dock属性为Fill,然后在主界面中使用如下代码即可

  1. public MainForm()  
  2.  {  
  3.             InitializeComponent();  
  4.  
  5.             frmIndex.Show(dockPanel);//显示目录窗体  
  6.             frmIndex.DockTo(dockPanel, DockStyle.Left);  
  7.  }  

这样目录窗体就可以自动靠左显示,并可以自动隐藏。其他的窗体可以类似实现。

目录树的实现

上篇文章中讲到使用xml存储目录,那么这个xml是什么样的格式呢?AlexisEditor的目录树如下:

  1. <CHMDocument Title="帮助文档"> 
  2.   <Items> 
  3.     <Node Name="但是使用" Local="E:\WorkSpace\projects\AlexisEditor\AlexisEditor\bin\Debug\html_files\129317762488604234.htm" ImageNumber="1" KeyWords="" /> 
  4.     

      相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • 用C#制作屏幕捕获程序
      • .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上
      • 遍历ArrayList易犯错误
      • C#对XML操作:一个处理XML文件的类(1)
      • .NET简谈反射(动态调用)
      • 使用C#编写LED样式时钟控件
      • DataList嵌套问题 如何删除内层子DataList的记录
      • 怎样用C#实现完整文档打印功能
      • .NET简谈自定义事务资源管理器
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1