用心做好每一件事情!

随笔分类 -  WinForm

WinForm
摘要:有不少园友经常问我程序有没有更新,真的很抱歉,最近因为工作原因一直很忙,导致程序有很长时间都没有更新了,首先在这里感谢关心俺的朋友们。 这几天好好看了一下原来的程序,还有很多地方需要改进,比如操作数据库的方式、权限、报表等等,数据库与报表下一步逐步进行更新,先将权限再细化一点儿,精确到操作按钮... 阅读全文
posted @ 2014-05-19 11:46 无 影 阅读(10384) 评论(18) 推荐(4) 编辑
摘要:在C#中说到排序的方法,相信大家都会首先想到冒泡排序,当然也还有其它的排序办法,如选择排序等等,本文就讲解一下平常用的最多的冒泡排序。首先我们看一下冒泡排序的原理,我们声明一个数组: //这种声明的话数组长度和后面的值必须保持一致才可以, //比如说你声明的数组长度是5,那么你后面必须有5个数值。 int[] Temp01 = new int[5] { 10, 5, 28, 19 ,33}; //集合,这样比较灵活,不必要指定长度 List list01 = new List() { 1... 阅读全文
posted @ 2013-08-23 10:46 无 影 阅读(1098) 评论(6) 推荐(0) 编辑
摘要:之前的那个开发框架好几个朋友都用在了项目里面,也给我提出了很宝贵的意见,虽然最近一直没有什么更新,但是针对朋友们提出的建议,我都仔细考虑了一翻,很多的意见我都融入了系统里面,将不足之处修改过来,本来想把报表的事儿给搞定,但是想了几种方案结果都不了了之。曾经有一个朋友说很欣赏我那个读取DLL文件的框架 阅读全文
posted @ 2013-04-26 18:18 无 影 阅读(6429) 评论(38) 推荐(8) 编辑
摘要:有时候在项目里面需要用到类似于百度那种自动索引的功能,在WinForm里面我采用的是用一个TextBox和一个ListBox结合来实现的,大致效果如下图所示:详细的代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace AutoComplete{ public par... 阅读全文
posted @ 2012-12-25 15:40 无 影 阅读(2971) 评论(1) 推荐(3) 编辑
摘要:园子里面有位朋友对我这个小框架提出了一些建议,我觉得很适用(不管是圆友还是用户给我提出的意见,我都认真考虑了,该采纳的都采纳了,我相信这样一来我这个程序应该会更完整,在此感谢大家的指点),有两点建议我比较认同,第一点就是在用户没有登录ID的情况下可以自由申请帐号,然后等待管理员审核之后方可生效,这种功能还是比较人性化的,不是说你没有登录ID就完全没办法操作这个系统,至少可以申请一个登录ID,至于什么时候可以得到审核,那是另外一件事情了,我相信这样一来对用户的体验一定会好很多,所以我将这个功能完善了一下,很简单,我的数据库里面本身有一列字段--IsEnable,大致的意思就是表示该用户是不是属于 阅读全文
posted @ 2012-11-23 15:57 无 影 阅读(1913) 评论(1) 推荐(2) 编辑
摘要:园子里面有几位朋友跟我说最好可以记录一些相关的日志,以便据此查找一些其它的信息或者是DeBug,我简单的处理了一下,这里用到了一个枚举:需要用的时候就传一个标志进来就行了,记录日志的函数就不说了,说白了就是记录一些数据,后台调用如下: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace Allen.Tools.Common 7 { 8 public static class SystemLog 9 {10 ... 阅读全文
posted @ 2012-11-08 13:33 无 影 阅读(2283) 评论(2) 推荐(1) 编辑
摘要:前几天有几个朋友要了我的框架源码,这几天也经常通过远程以及电话来帮他解决一些问题,后来他说马上要交项目了,但是有一个问题还没有搞出来,那就是在原有的框架里面如何设置一个窗体自动启动?本身我的框架是登录进去之后所有的菜单都是根据后台的权限进行分配,加载进来之后绑定在工具箱里面,当用户点击菜单之后才会加载窗体,看他现在的意思是想登录进去之后默认启动一个窗体,这个简单,因为加载窗体的动作是写的一个方法来调用的,那么只需要在Load里面调用一下就行了,1 private void FrmMain_Load(object sender, EventArgs e)2 {3 ... 阅读全文
posted @ 2012-10-15 10:24 无 影 阅读(5440) 评论(60) 推荐(6) 编辑
摘要:不管是做什么项目,代码里面的注释是必不可少的,其实一个好的程序员大部分的时间都是在给代码写注释,但是相同的注释不停的写也是件比较麻烦的事儿,在VS2008里面通过宏可以记录下注释信息,产生一个注释文件,每次需要的时候直接增加到类文件里面即可,方法如下: Sub AddComment() Dim DocSel As EnvDTE.TextSelection DocSel = DTE.ActiveDocument.Selection DocSel.NewLine() DocSel.Text = "/**********************... 阅读全文
posted @ 2012-10-12 16:36 无 影 阅读(2138) 评论(0) 推荐(0) 编辑
摘要:增加了程序自动更新版本的功能,实现方式如下:后台数据库中用一张表来保存程序的版本信息,该表的字段很简单,如下:开发文档CREATE TABLE [dbo].[sys_AutoUpdate]( [UID] [int] IDENTITY(1,1) NOT NULL, [SystemName] [varchar](50) NULL, [SystemVersion] [varchar](10) NULL, [Remark] [text] NULL, [UpdateDate] [datetime] NULL, [UpdatePath] [varchar](500) NULL)在之前的项目里面增加了一个新 阅读全文
posted @ 2012-09-13 17:37 无 影 阅读(5968) 评论(30) 推荐(4) 编辑
摘要:http://www.cnblogs.com/allen0118/archive/2012/05/10/2494112.html这边文章里面只是将大致的轮廓组织了一下,现在慢慢来将其完善,本次更新了2点内容,第一就是将权限细化到每一个按钮,因为当时设计的时候每一个窗体上面的菜单都是统一的,所以比较容易控制,开发文档以下代码比较重要,记录了一些全局的东西: 1 public sealed class AllenSingleton 2 { 3 private static volatile AllenSingleton instance; 4 ... 阅读全文
posted @ 2012-09-07 16:51 无 影 阅读(2770) 评论(15) 推荐(0) 编辑
摘要:WinForm 里面的DataGridView不像WebForm里面的GridView那样有自带的分页功能,需要自己写代码来实现分页,效果如下图: 分页控件 .CS: 1 using System; 2 using System.Collections.Generic; 3 using Sys... 阅读全文
posted @ 2012-07-18 09:41 无 影 阅读(45627) 评论(80) 推荐(6) 编辑
摘要:As title. 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using Domino;10 11 namespace NetUseNotes12 {13 public partial class Form1 : Form14 ... 阅读全文
posted @ 2012-06-20 11:51 无 影 阅读(3235) 评论(0) 推荐(0) 编辑
摘要:首先运行“SE37”在Exceptions页面增加异常信息,Exception为异常信息的代码,Short Text则为异常信息的详细文本,如图:C#里面如果需要抛出用户自定义的异常,那么使用RfcAbapException即可,这个Exception是专门用来获取用户自定义的异常的。 1 public void GetAllInfo(RfcDestination prd) 2 { 3 RfcRepository repo = prd.Repository; 4 IRfcFunction irfc = repo.CreateF... 阅读全文
posted @ 2012-06-01 12:31 无 影 阅读(1464) 评论(0) 推荐(0) 编辑
摘要:刚开始接触SAP了,感觉很陌生,清一色的TCode,不过里面的功能确实强大,不得不佩服啊,之前我一直是搞WinForm和WebForm的,现在能够接触到SAP那我还是想多学习一下,看了一下ABAP的语法,觉得只要能够自己试着写几个程序来练习一下的话应该不是很难,所以我决定通过C#去连接到SAP,然后去调用里面的RFC来实现一些功能,这样既可以了解.NET和SAP互相通信的知识,又可以在SAP里面编写ABAP的程序,下面看看连接SAP的代码,其实很简单: 1 //首先的引用下面三个文件 2 //这几个文件的DLL在C:\Program Files\SAP\FrontEnd\SAPgui 3 /. 阅读全文
posted @ 2012-05-22 15:27 无 影 阅读(4600) 评论(3) 推荐(1) 编辑
摘要:在数据库配置方面暂时采用了将信息写入App.Config里面,大致分为Sql Server,Oracle,Access,MySql等,如果用户登录的时候系统发现连不上数据库那么就提示用户对数据库进行配置一下,但是总觉得将连接信息写入App.Config里面有点不安全,那个App.Config文件就在程序的安装目录里面,别人找到了还不是照样可以获取数据库密码么,不知道是否还有其他好点的办法,如果有朋友对这个问题比较有见解的话麻烦支个招,QQQ。 阅读全文
posted @ 2012-05-17 18:12 无 影 阅读(2540) 评论(3) 推荐(2) 编辑
摘要:项目中需要对一个DataGridView控件进行类似于Excel查找的功能,之前是使用的DevExpress里面的DataGrid,用起来倒是很方便,它的列头可以和Excel一样进行随意的筛选,但是那个是收费的东东,我用了几天破解版的,担心以后会有影响所以还是决定换掉它,VS自带的DataGridView跟DevExpress里面的DataGrid相比确实相差太远了,样式不好看不说,功能上也欠缺了很多,为了满足用户的需求只得做一个查找定位的功能出来勉强满足一下用户的需求, 1 using System; 2 using System.Collections.Generic; 3 using S 阅读全文
posted @ 2012-05-14 09:52 无 影 阅读(10688) 评论(2) 推荐(3) 编辑
摘要:自己一直想有一个完全属于自己的编程小框架,之前使用的方式是将每一个窗体文件都编译为一个DLL文件,在新建窗体的时候首先新建一个类,然后在这个类里面新建窗体,编译之后就是一个DLL文件,最后通过一个函数去读取这个DLL文件里面的信息,包括窗体名称,版本等,最后将设个窗体Show出来,Show出来的时候是使用的WeifenLuo.WinFormsUI.Docking。看上去貌似没什么问题,但是每次New一个窗体的时候就要New一个对应的类,那么有几百个窗体呢?那项目将会大的惊人,所以放弃了这种做法,经过一段时间的构思,大致的框架结构出来了,我比较了一下,功能完全相同的两个项目,用之前的方法和我现在 阅读全文
posted @ 2012-05-10 12:50 无 影 阅读(14550) 评论(92) 推荐(11) 编辑
摘要:最近需要开发几个小项目,但是这几个小项目是独立的,我又不想分开维护,因为如果分开的话到时候越来越多,到处都是EXE文件,想要维护那真的搞死人,用户打个电话过来说XXX系统出问题了,我还要慢慢的找一下到底是哪一个系统,这一点我有亲身经历,真的是搞得人头痛。所以想用个框架将那些不同的应用系统全部汇总一下,方便以后维护。最后的一张图片是下一个版本的方案,前期的版本是采用将窗体文件封装为DLL文件的方法,但是我发现这种方式存在一些bug,在开发的时候存在一些困难和不方便,所以决定通过重写DockContent,再继承DevExpress,这样既可以使用VS那种停靠布局功能又可以使用DevExpress 阅读全文
posted @ 2012-03-23 17:20 无 影 阅读(3704) 评论(14) 推荐(0) 编辑

作者: Allen【QQ:96966 1314】 网名:无影 出处: http://www.cnblogs.com/allen0118/ 声明: 本文版权归作者和博客园共有!转载时必须保留此段声明,且在文章页面明显位置给出原文连接。