C#生成CHM文件(应用篇)之代码库编辑器(5)【总结、程序、源代码】

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

经历了快一个月的开发(因为都是在闲暇时间做的,实际实际可能不到一周),AlexisEditor总算完成了。

这边说明一下为什么有些网友不能新增文章的问题。

原因是路径中有中文字符,我一直用的是英文系统,所以没有出现这样的情况。感谢网友初中生的net梦 在xp、.Net2.0 平台下的测试 ,发现了这个bug。
 

具体来说一下这个bug,是因为WebBrowser导航发生改变的时候会对Uri进行编码,而我们这边不需要进行编码,于是就可以用反编码就行了。

解决方案如下

 //特别注意,如果路径中有中文,url会对其进行编码

  1. if (System.Web.HttpUtility.UrlDecode(e.Url.AbsolutePath.ToString()).Replace('/', '\\') == saveUrl) 

再次更新下程序(也许是最后一次更新了)

源代码下载(vs2010版)

源代码下载(vs2005版)

程序下载(XP版,如果你的IE版本是6.0,请下载此版本)
 

呵呵,如果觉得好的话,请推荐之!

下面将我这个系列遇到的问题和经验总结下,然后着手学习WPF和SilverLight的知识,希望里面的知识点能够对你有帮助。

篇幅可能有点长,为了方便起见,增加导航

 

 一、在WinForm实现类似CSS Sprites(CSS图像拼合技术)

 二、WebBrowser控件的使用技巧

 三、XML的妙用之存储树

 四、Visual Studio界面风格WinForm实现

 五、 WinForm中的状态栏初探

 六、 C#调用系统的cmd命令

 七、 TreeView节点重命名

 八、DataGridView中的一些技巧

 九、Lucene.Net简单的应用

 十、简易版的log类

一、在WinForm实现类似CSS Sprites(CSS图像拼合技术)       

在WinForm我们会用到许多的小图片,可能要求是ico格式的,而且像素一般是16*16的,如果将这么多的ico图片放在一个文件夹里,当然 是可以,不过,如果一张图片2k,那么50张图片就是100k,浪费空间。我们可以像web那样做,将许多图片拼合到一张图片中,然后写一个静态类来调用 图片中的第几个图形。

如下图一张480*16 bmp格式的图片(演示需要,放大了)

设置图片的背景为比较明显的颜色(为了后面显示透明),总共就有30个图形,于是我们就可以遍历然后将图片存到一个List中了,详细代码如下:

  1. System.Resources.ResourceManager resource = new System.Resources.ResourceManager("AlexisEditor.Properties.Resources", System.Reflection.Assembly.GetExecutingAssembly());  
  2.             Bitmap bitmap = (Bitmap)resource.GetObject("bookicons");  
  3.  
  4.             //将加载的位图的图片提取出来,并放在list中  
  5.             imageList = new ImageList();  
  6.             iconList = new List<

      相关新闻>>

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

      推荐热点

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

      豫ICP备11007008号-1