博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年12月2日

摘要: 以下是一些对excel的一些基本操作1:工程对excel类库的导入,如:c:\program files\Microsoft office\offiece11\excel.exe2:命名控件的引入: using Microsoft.office.Interop.Excel;3:如果是对一个已经存在的excel文件进行操作则:Application app=new Application();Workbook wbook=app.Workbooks.Open("c:\\temp.xls",Type.Missing,Type.missing,Type.missing,Type. 阅读全文

posted @ 2011-12-02 22:57 moss_tan_jun 阅读(2720) 评论(0) 推荐(0) 编辑

摘要: 常用快捷键,VS2010里面有很多快捷键,列出一些个人认为最常用,最能提高效率的快捷键:Alt+shif+f10 快速添加usingF4 显示属性窗口CTRL + END 文档定位到最后 CTRL + HOME 文档定位到最前CTRL + L 删除当前行Ctrl + E,C comment out当前行(添加//一次)Ctrl + E,U 去掉当前行comment(去掉//一次)Ctrl + Enter 在光标所在行插入空行Ctrl + M,L 将所有过程设置为相同的隐藏或展开状态 阅读全文

posted @ 2011-12-02 22:54 moss_tan_jun 阅读(272) 评论(0) 推荐(0) 编辑

摘要: 1、F12 这三个键在查看代码的时候,特别有用。通过F12你可以快速的找到一个函数的定义,通过Ctrl+减号你可以快速的返回到函数的调用处。 2、如何使用快捷键在当前代码行的上面或下面插入一行(推荐,很实用) 按下 Ctrl+Enter 会在上面插入一个空行,Ctrl+Shift+Enter 则会在下面插入一个空行。光标会移至新行的开始处。 备注:这是我非常喜欢的一个快捷键,如果不用这个,则需要使用Home 或 End,然后使用方向键,再使用回车才能达到上面的效果。 3、通过按"tab"两次插入代码块 操作步骤: 在编辑的中输入代码片段,比如"for" 阅读全文

posted @ 2011-12-02 22:51 moss_tan_jun 阅读(287) 评论(0) 推荐(0) 编辑

摘要: 一个winform程序,有两个窗体,一个是住窗体,一个是子窗体。主窗体中有一个button按钮和一个datagridview控件。点击button按钮弹出子窗体,子窗体如图: 这其中涉及到两张表,一张是生产产品的供应商信息表,一张是产品信息表。主窗体查询的是供应商信息表,子窗体左边的datagridview查询的是产品信息表。当点击中间的“=>”按钮是,把左边选中的产品添加到右边。如果左边的产品没有设置单价,则弹出一个小窗体让用户设置价格(左边datagridview隐藏了“单价”列)。并保存,在右边就要显示出来。右边也可以移除产品到左边。最后点击“确定”按钮时,右边datagridvi 阅读全文

posted @ 2011-12-02 22:14 moss_tan_jun 阅读(1230) 评论(0) 推荐(0) 编辑

摘要: 在网上查,有好几种方法。我选择了override ProcessCmdKey的方法。以下代码我是测试过的。放在Window Form的class里面。protectedoverrideboolProcessCmdKey(refMessagemessage,Keyskeys){switch(keys){//按F2和Ctrl就显示HelloWorldcaseKeys.F2|Keys.Control:MessageBox.Show("HelloWorld");returnfalse;}returnfalse;}测试环境是VS 2010和Windows 7 Professional 阅读全文

posted @ 2011-12-02 22:12 moss_tan_jun 阅读(409) 评论(0) 推荐(0) 编辑

摘要: 当winform中下拉框中的数据是由数据库中的数据绑定的时候,我们再要求在其中加一项“全部”时,我试了很多办法,才知道不能直接加值到下拉框,要在绑定之前加到集合中,再绑定到下拉框。例如List<实体类>集合,要把“全部”先添加到集合中,再绑定才可以。//数据绑定下拉框,要想添加数据,需要在集合中添加数据。(获得产品类别)List<实体类> lst = RestS.Category(BaseInfo.Storeguid);lst.Insert(0, new 实体类() { 字段名 = "全部" });cmb.DisplayMember = " 阅读全文

posted @ 2011-12-02 22:09 moss_tan_jun 阅读(5863) 评论(0) 推荐(0) 编辑

摘要: 学习c# winform 打印 参照了网络上诸多资源效果示意:操作步骤:1、新建winform项目及创建窗体2、拖取 打印 相关控件 PageSetupDialog 、 PrintDialog 、 PrintDocument 、PrintPreviewDialog3、设置上述控件的Document属性为相应的PrintDocument4、设置按钮等控件 及 添加相应按钮事件5、示意代码如下代码 publicpartialclassForm3:Form{publicForm3(){InitializeComponent();this.printDocument1.OriginAtMargins= 阅读全文

posted @ 2011-12-02 22:05 moss_tan_jun 阅读(693) 评论(0) 推荐(0) 编辑

摘要: 早在《Winform分页控件重大更新,并实现普通版、DotNetBar、DevExpress三大版本整合更新(附各种例子源码)》随笔中,就集成了三种界面样式的分页控件(普通版、基于DotNetBar样式和基于DevExpress样式三种),后来也就形成了我三种不同的Winform开发框架界面样式。1)基于传统经典模式的界面,采用了OutLookBar工具条以及鼎鼎有名的Weifengluo多文档布局控件,集成了分页控件、使用基于Apose.Cell控件的自定义报表等功能,能适应大多数业务系统的引用。框架数据编辑界面、普通查询窗体界面均采用窗体集成模式,简化开发代码,提高窗体开发效率以及统一界面 阅读全文

posted @ 2011-12-02 22:02 moss_tan_jun 阅读(509) 评论(0) 推荐(0) 编辑

摘要: 这个日志文件存放在程序的bin文件夹下得Debug中static private string logpathlog = AppDomain.CurrentDomain.BaseDirectory + "log.txt"; static public void writelog(string classname) { string path = logpathlog; if (!File.Exists(path)) { // Create a file to write ... 阅读全文

posted @ 2011-12-02 21:52 moss_tan_jun 阅读(370) 评论(0) 推荐(0) 编辑

摘要: 从《C#高级编程》了解到给线程传递参数有两种方式,一种方式是使用带ParameterizedThreadStart委托参数的Thread构造函数,另一种方式是创建一个自定义类,把线程的方法定义为实例的方法,这样就可以初始化实例的数据,之后启动线程。方式一:使用ParameterizedThreadStart委托如果使用了ParameterizedThreadStart委托,线程的入口必须有一个object类型的参数,且返回类型为void。且看下面的例子:using System;using System.Threading;namespace ThreadWithParameters{ ... 阅读全文

posted @ 2011-12-02 21:49 moss_tan_jun 阅读(11846) 评论(0) 推荐(0) 编辑

摘要: 例子:在A窗体【按钮】弹出 B窗体并且当B窗体关闭时判断是【确定】还是【取消】则可以在B窗体上加上DialogResult返回值。然后A窗体再进行判断。整个过程代码如下:A窗体 弹出 B窗体并且接收返回值代码:DialogResult dr = F.ShowDialog(); if (dr == DialogResult.OK) { //一些有意思的代码 } B窗体【取消按钮】代码:this.DialogResult = DialogResult.Cancel; this.Close(); B窗体【确定按钮】代码:this.DialogResult = Dial... 阅读全文

posted @ 2011-12-02 21:46 moss_tan_jun 阅读(5581) 评论(0) 推荐(0) 编辑