C#生成CHM文件(应用篇)之代码库编辑器(3)【附源代码下载】

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

在这篇文章中,我将介绍AlexisEditor项目下主要Form的实现,即MainForm、EditForm。

MainForm 

MainForm包含的主要变量如下 

 

以frm开头的都是对应的窗体变量,chmDocument表示当前的电子书,dockPanel是MainForm上的Panel,负责实现Visual Studio风格的面板。

下图是MainForm的主要方法。

 

在一开始是实例化Form窗体的时候会调自身的构造器,在构造器中我们其他的窗体,主要代码如下

  1. frmIndex.Show(dockPanel);//显示目录窗体  
  2.  frmIndex.DockTo(dockPanel, DockStyle.Left);  
  3.  frmList.Show(dockPanel);//显示搜索窗体  
  4.  frmList.DockTo(dockPanel, DockStyle.Fill);  
  5.  this.frmIndex.TreeIndex.NodeMouseDoubleClick += new TreeNodeMouseClickEventHandler(TreeIndex_NodeMouseDoubleClick);//注册编辑文章事件  

加载界面的时候会触发MainForm_Load事件,我们在这个方法里面加载电子书的目录,代码如下:

  1. chmDocument.Load("index.xml");//加载目录  
  2.  RefreshView(chmDocument, frmIndex.TreeIndex);  

RefreshView是同步TreeView和CHMDocument的方法,很重要

  1. private void RefreshView(CHMDocument doc, System.Windows.Forms.TreeView tvw)  
  2. {  
  3.             tvw.BeginUpdate();  
  4.             tvw.Nodes.Clear();  
  5.             System.Windows.Forms.TreeNode node = tvw.Nodes.Add(doc.Title);  
  6.             node.Tag = doc;  
  7.             node.ImageIndex = 0;  
  8.             node.SelectedImageIndex = 0;  
  9.             AddNodes(doc.Nodes, node);  
  10.             tvw.EndUpdate();  
  11.             tvw.SelectedNode = node;  
  12.             node.Expand();  
  13.  
  14.  }  

RefreshView会调用AddNodes方法添加节点,方法明细如下

  1. private void AddNodes(CHMNodeList list, System.Windows.Forms.TreeNode RootNode)  
  2. {  

      相关新闻>>

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

      推荐热点

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

      豫ICP备11007008号-1