随笔分类 - Winform
摘要:1. 总体框架图 2.框架能解决哪些问题? 问题1: 自动化设备包含龙门架、机械手、伺服、步进等电机、IO控制、定位及纠偏、界面展示等部分。其中硬件(伺服、IO等)是需要更换的,硬件的更换不影响整套系统,不影响指:逻辑无影响、代码无编辑。 解决思路: 1、面向接口编程,所有硬件及算法在业务逻辑层都是
阅读全文
摘要:前段时间忙了很久的系统总算上线了,由于是WinForm程序不能整个文件夹的发给客户使用。所以必须要打包,记得以前在VS2005中是自带部署功能的。现在换了VS2013那个部署功能完全弄不清方向。最后在网上找了NSIS这个开源的安装程序制作工具。翻看了一下它的说明,和网上的一些教程。最后打包出了一个个...
阅读全文
摘要:某日笔者写了个导入导出excel的小程序,拿给别人用时,别人说程序有问题读不了。究其原因发现原来是using Microsoft.Office.Interop.Excel;引用出错。发现他装的office是精简版。在网上查资料时发现了一遍文章4种开源Excel读写类库与MS Excel类库写操作对比 里面分析了4中开源的读写excel的类库。分析了这篇文章的数据后。选择了NPOI。什么是NPOI?曰:是POI的.NET版本。那POI又是什么呢?POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, do
阅读全文
摘要:C#中关于zip压缩解压帮助类的封装 之前一个同学问了这个问题后,看了园子里其它园友的封装,都很零碎,调用也不是很方便。所以自己就封装了一个zip解压的类。后来想整理下怕自己忘了。就把压缩的类也一并封装了。c#下压缩解压,主要是用第三方类库进行封装的。ICSharpCode.SharpZipLib.dll类库,链接地址为你官方下载链接。压缩主要是用流的方式进行压缩的。压缩文件及文件夹。文件压缩很简单,把待压缩的文件用流的方式读到内存中,然后放到压缩流中。就可以了。文件夹就稍微麻烦下了。因为要把待压缩的文件夹解压后保留文件夹文件的层次结构。所以我的实现方式就是 递归遍历文件夹中的文件。计算其..
阅读全文
摘要:什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式。从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft.NETRemoting提供了一种允许对象通过应用程序域与另一对象进行交互的框架。这也正是我们使用Remoting的原因。为什么呢?在Windows操作系统中,是将应用程序分离为单独的进程。这个进程形成了应用程序代码和数据周围的一道边界。如果不采用进程间通信(RPC)机制,则在一个进程中执行的代码就不能访问另一进程。这是一种操作系统对应用程序的保护机制。然而在某些情况下,我们需要跨过应用..
阅读全文
摘要:以前写打印都是根据打印机的型号,找开发类库。然后在此基础上开发。写的多了自然就想到了封装。这是还是想到了微软,微软封装了PrintDocument的打印类。但这只是在低层对串口的封装。所以对于应用层用着还不是很方便。最近做一个项目顺便就封装了一个调用默认打印机的类。虽说有几个小bug,但对于目前来说,已经满足需求了。以后不够了在来升级吧。1,关于打印上下左右边距和纸张的高宽。以往都把这些写死到代码里面。既然是调用默认打印机,打印机的型号自然有差异。所以我就把这些配置放到app.config里面。但又怕每次打印都加载config影响效率。故此设计了个PrintPaper类。里面所有属性都是静..
阅读全文
摘要:环境 vs2010读取很简单基本都用过 ConfigurationManager.AppSettings[""].ToString()写config不是很常用。代码如下: /// <summary> /// 修改配置文件中某项的值 /// </summary> /// <param name="key">appSettings的key</param> /// <param name="value">appSettings的Value</param> public
阅读全文
摘要:WinForm中快捷键与组合按键的设置第一种方法。。代码复杂,操作简单的快捷键新建一个空白窗体每个窗体都有这样3个事件:KeyDown、KeyPress、KeyUp,KeyDown和KeyPress都是按键按下事件,但KeyDown用的是KeyCode跟键盘各个按键相对应,它对应Keys枚举,用起来比较方便;而KeyPress用的是KeyChar,这个就要找ASC II编码了,不方便。KeyUp是按键弹起事件,不常用,因此我们使用KeyDown事件来设置窗体的快捷键,双击该事件后的空白生成代码,首先我们设置单个按键,让它按下F11最大化,再次按下还原,在事件中加入如下代码:if(e.KeyCo
阅读全文

浙公网安备 33010602011771号