代码改变世界

随笔档案-2012年11月20日

Winform开发框架之系统登录实现

2012-11-20 16:02 by 埋头前进的码农, 634 阅读, 收藏,
摘要: 在业务系统的操作过程中,有时候,用户需要切换用户进行重新登录,这种情况有时候是因为一个人管理多个用户账号,希望通过不同的账号登录进行管理不同的资料,另一种情况是酒店的换班操作,另一个人接替前面的人进行系统维护管理。这种重新登录其实也是一种友好的操作之一,试想一下,换个账号登录,就需要推出系统,重新寻找运行程序才可以,而且如果系统启动较慢一点的,还需要等待,所以实现重新登录,有时候也是必要的。因此实现这个功能,也是体现我们开发的系统注重细节的表现。另外,自动登录(其实是接受通过命令行参数进行登录)也是很常见的,有时候,让客户端记住用户的账号密码,我们在后台通过调动命令行方式进行登录,让系统程序接 阅读全文

JavaScript事件冒泡简介及应用

2012-11-20 15:54 by 埋头前进的码农, 163 阅读, 收藏,
摘要: 一、什么是事件冒泡在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。打个比方说:你在地方法院要上诉一件案子,如果地方没有处理此类案件的法院,地方相关部门会帮你继续往上级法院上诉,比如从市级到省级,直至到中央法院,最终使你的案件得以处理。二、事件冒泡有什么作用(1)事件冒泡允许多个操作被集中处理(把事 阅读全文

C#关于托管程序和非托管程序的区别

2012-11-20 15:50 by 埋头前进的码农, 478 阅读, 收藏,
摘要: 一般的一个可执行文件的内容都包含一个PE头,系统根据PE的信息找到入口函数,通过执行入口函数中的代码来执行可执行程序。托管程序的文件相对于非托管程序还包含了一个CLR表头文件以及其他CLR需要的信息。1.非托管程序的执行过程在非托管程序中,可执行里面保存的是机器代码,CPU可以直接加载并执行,当系统加载了可执行程序后,系统就将可执行文件的段基址加上偏移地址形成实际的物理地址,并直接加载到内存中运行。2.托管程序的执行过程托管程序的可执行文件中,包括是中间语言以及元数据,当然不能直接运行,必须启动CLR,由CLR对中间语言进行即时编译机器代码,并加载到内存里面执行(具体过程“程序在进入入口函数前 阅读全文

C#开发中is和as的区别

2012-11-20 15:47 by 埋头前进的码农, 214 阅读, 收藏,
摘要: 废话不多说,上代码:static void Main(string[] args) { object o = new object(); //is的用法 //1.检查对象类型的兼容性,并返回结果,true或者false; // 2.不会抛出异常; // 3.如果对象为null,则返回值永远为false。 if (o is A) //执行第一次兼容检查 { A a = (A)o;//执行第... 阅读全文

C#几个经常犯错误汇总

2012-11-20 15:38 by 埋头前进的码农, 214 阅读, 收藏,
摘要: 在我们平常编程中,时间久了有时候会形成一种习惯性的思维方式,形成固有的编程风格,但是有些地方是需要斟酌的,即使是一个很小的错误也可能会导致昂贵的代价,要学会善于总结,从错误中汲取教训,尽量不再犯同样错误,注重编程之美,代码的优雅,总结几个平常经常犯的错误。1、在C#编程中,字符型类型是最容易处理出错的地方,代价是非常昂贵,在.Net Framwork中,字符串是一个相当特别的引用类型,string本省就是一个不可继承的密封类,但是它具有了值类型所应用的特点,但是它在CLR中内存还是保存于托管堆之上,也就是说,当我们每次定义一个字符串类型的时候,就在堆内存中开辟一端内存,而当我们字符串被修改之后 阅读全文