- 博客(53)
- 资源 (3)
- 收藏
- 关注
原创 ASP.NET连接字符串
1.数据库文件连接<add name="LocalSqlServer" connectionString="DataSource=./SQLExpress;IntegratedSecurity=True; AttachDBFilename=|DataDirectory|TimeTracker.mdf;UserInstance=true" /> 一. int
2009-12-16 22:15:00
826
原创 WinForm界面设计(不规则窗体)
一,不规则WINFORM窗体Author:unknown From:Internet在以前版本的Visual Basic或Visual C++中,创建不规则窗体和控件是一件很复杂的事,不仅需要调用大量API函数而且工作量也不小。不过,现在在Visual C#下,情况就完全不同了。运用Windows Forms你就可以很轻易地创建出一个不规则的窗体以及窗体上的控件。一个具有不规则窗体和控件的应用程序
2009-05-14 11:20:00
6367
原创 XML学习笔记1
XML(eXtensible Markup Language,可扩展式标记语言)并不是为了一个特定的应用而设计的,而是无限延伸的,用来设计各种各样的标记的语言。并且在设计上就考虑到全球化,所以在一开始便构筑在Unicode之上,及可以使用中文来做标签。
2008-10-07 10:58:00
564
原创 禁止一个程序启动多个实例
在Program.cs中添加如下代码: Boolean createdNew; //返回是否赋予了使用线程的互斥体初始所属权 System.Threading.Mutex instance = new System.Threading.Mutex(true, "MutexName", out createdNew); //同步基元变量
2008-07-29 20:54:00
644
原创 Windows Message ID 常量列表
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是这样声明的: type TM
2008-07-01 22:43:00
1078
转载 什么是句柄?
关于什么是句柄(经典)2008-06-11 20:06 句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。
2008-06-30 13:01:00
818
1
原创 AutoExcel
using System;using Microsoft.Office.Interop.Excel;using System.Runtime.InteropServices;using System.Reflection;using System.Diagnostics;using System.Drawing;namespace AutoE
2008-06-29 16:09:00
1222
原创 读取CSV到DataTable
using System;using System.Collections.Generic;using System.IO;using System.Data;public class MyClass{ public static void Main() { string path = @"D:/12
2008-06-18 15:07:00
708
原创 第7章:对象之间的搬移
1.Move Method当发现有个函数与其所在类之外的另一个类进行更多的交流(调用后者,或者被后者调用),这样可能形成一个高耦合关系时,最常用的方法将该函数移植到另一个类中,把旧函数变为一个委托函数,或者直接删除.当需要使用原类的Feature时,一般可以采用以下4中方法.(1)将这个Feature也移植到另一个类中(2)建立或试用一个从新类到旧类的引用关系.(3)将旧类作为参数传到新类
2008-06-04 18:53:00
400
原创 第6章:重新组织函数
1.Extract Method将这段代码放到一个单独的函数中,并让函数名来解释该函数的用途当发现一段很长的函数或者当需要注释才能让人理解代码的用途时,就需要将这段代码放进一个单独的函数中去了。其中目标函数的函数名字,应该是解释该函数做了什么而不是说明它是如何做的。这样在高层函数中看代码就像看注释一样了。Extract Method分为以下几种情况:(1).无局部变量(No Loc
2008-05-26 23:25:00
408
原创 第2章:重构原则
何谓重构:对软件内部结构的一种调整,目标是在不改变软件行为(软件之可查行为)的情况下,提高其可理解性,降低修改成本。为何重构:1.改进软件设计:经常性的重构,可以帮助代码保持自己该有的形态。其中一个重要方向是消除重复代码(Duplicate Code),这个方向的重要性主要是着眼与未来,重构后的代码的运行轨迹几乎不会发生改变,所以它的性能不会有明显提高,但可以提高以后修改的效率。2
2008-04-29 20:45:00
442
转载 常用正则表达式
导读: 常用正则表达式 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。 匹配中文字符的正则表达式: [/u4e00-/u9fa5] 匹配日文字符的正则表达式:[/u3040-/u309F/u30A0-/u30FF] 匹配双字节字符(包括汉字在内):[^/x00-/xff] 应用:计算字符串的长度(一个
2008-04-29 16:28:00
410
原创 Refacoring
重构简单笔记:1.当发现自己要为一个程序添加一个特性,而代码结构让你无法很方便的这样做,那么先重构这个程序,使其特性比较容易添加,然后在添加特性。2.重构之前,必须有一套很可靠的测试机制,这些机制必须有自我检查的能力。3.重构的步伐,应以微笑的步伐修改程序。如果你犯下错误,可以很容易的发现它。4.绝大部分情况,函数应该放在它所试用的数据所属的类中。5.尽量除去临时变量,它会导致
2008-04-16 21:12:00
470
转载 C#中常用ToString()转换
导读: 很多类都重写了ToString方法, 导致很多类的tostring到底执行了什么,有哪些参数,都不清楚。。。。很郁闷! 对于int,double等的tostring: C 货币
2008-04-01 11:19:00
904
原创 Builder
Motivation当面临一个复杂对象的创建工作,通常其各个部分的子对象用一定的算法构成,由于需求变化,这个复杂对象的各个部分面临剧烈的变化,但它们结合在一起的算法相对稳定(例如; 创建一个House对象,它的各个部分如房顶,墙,地板,门经常发生变化,但它们的组成算法相对稳定)Structure 协作图: 注意点:Builder模式主要解决复杂对象的创建,
2008-03-25 21:56:00
394
转载 ASP.NET事件执行周期
导读: 大家都知道,在Asp.net上进行Web编程中了解页面中各事件的执行顺序是非常有用的,可以有的放矢的将自己的一些处理程序放到指定的位置,以便取得正确的结果。本文详细的讲述了页中从初始化到显示的全过程事件。 l 初始化 2 当页面被提交请求第一个方法永远是构造函数。您可以在构造函数里面初始一些自定义属性或对象,不过这时候因为页面还没有被完全初始化所以多少会有些限制。特别地,您需要
2008-03-07 15:22:00
588
转载 ASP.NET编写ISAPI
导读: 在Internet时代的开端,客户端的需求非常有限;.htm文件就可以满足他们的需求。但是,随着时间的流逝,客户端需求的扩充超越了.htm文件或静态文件所包含的功能。 开发者需要扩充或扩展Web服务器的功能。Web服务器厂商设计了不同的解决方案,但是都遵循同一个主题“向Web服务器插入某些组件”。所有的Web服务器补充技术都允许开发者建立并插入组件以增强Web服务器的功能。微软公司
2008-02-01 11:37:00
713
转载 javascript中获取坐标的参数
导读: 1. offsetTop、offsetLeft、offsetWidth、offsetHeight 假设 obj 为某个 HTML 控件。 obj.offsetTop 指 obj 距离上方或上层控件的位置,整型,单位像素。 obj.offsetLeft 指 obj 距离左方或上层控件的位置,整型,单位像素。 obj.offsetWidth 指 obj 控件自身的宽度,整型
2008-02-01 10:51:00
613
转载 web.config中的HttpHandler
导读: 很多时候,我们新建一个xxx.aspx页和xxx.aspx.cs文件,不过是为了实现一个很简单的功能,如:输出xmlDom,注销并跳转,并没有什么html的输出,很是麻烦,需要新建一个页,删除多余的html,并在page_load里面写处理代码。而使用HttpHandler就不需要这么麻烦了。 可以用任何符合公共语言规范 (CLS) 的语言编写自定义 HTTP 处理程序来处理特定的
2008-01-28 09:55:00
525
转载 web.config中的HttpContext, HttpModules 和 HttpHandlers
导读: HttpApplication触发事件来通知你的程序有事发生,以此来负责请求流转.这作为HttpApplication.Init()函数的一部分发生(用Reflector查看System.Web.HttpApplication.InitInternal()方法和HttpApplication.ResumeSteps()方法来了解更多详情),连续设置并启动一系列事件,包括执行所有的处理器
2008-01-28 09:49:00
484
转载 JavaScript常用例子(较全)
父框架重定向 window.parent.location.reload(www.hthings.com) 1.文本框焦点问题onBlur:当失去输入焦点后产生该事件onFocus:当输入获得焦点后,产生该文件Onchange:当文字值改变时,产生该事件Onselect:当文字加亮后,产生该文件(value==) {value=郭强}">点击时文字消失,失去焦点时文字再出现
2008-01-28 09:42:00
3378
转载 常用效果及代码
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键no 可用于Table 2. 取消选取、防止复制3. onpaste="return false" 不准粘贴4. oncopy="return false;" oncut="return false;" 防止复制5. IE地址栏前换成自己的图标6. 可以在收藏夹中显示出你的图
2008-01-27 14:23:00
595
原创 GridView合并单元格
public static void CellTogether(int cellIndex, ref GridView gvTemp) ...{ int i = 0; int rowSpanNum = 1; while (i gvTemp.Rows.Count - 1) ...{
2008-01-25 16:55:00
659
原创 GridView双击回传父页面及改变选择行颜色
父页面(略)其中window.showModalDialog中第二个参数可以将父页面对象传给子页面子页面 protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) ...{ if (e.Row.RowType == DataControlRowType.DataRow
2008-01-25 16:53:00
626
转载 [翻译]了解ASP.NET底层架构(八)
导读: HttpHandlers 模块是相当底层的,而且对每个来到ASP.NET应用程序的请求都会被触发.Http处理器更加的专注并处理映射到这个处理器上的请求. Http处理器需要实现的东西非常简单,但是通过访问HttpContext对象它可以变得非常强大.Http处理器通过实现一个非常简单的IHttpHandler接口(或是它的异步版本,IHttpAsyncHandle
2008-01-22 16:17:00
446
转载 [翻译]了解ASP.NET底层架构(完)
导读: 我说的这些对你来说够底层了吗? 唷-我们已经走完了整个请求处理过程了.这过程中有很多底层的信息,我对HTTP模块和HTTP处理器是怎么工作的并没有描述的非常详细.挖掘这些信息相当的费时间,我希望在了解了ASP.NET底层机制后,你能获得和我一样的满足感. 在结束之前让我们快速的回顾一下我在本文中讨论的从IIS到处理器(handler)的过程中,事件发生的顺序
2008-01-22 16:17:00
383
转载 [翻译]了解ASP.NET底层架构(七)
导读: “流过”ASP.NET管道 HttpApplication触发事件来通知你的程序有事发生,以此来负责请求流转.这作为HttpApplication.Init()函数的一部分发生(用Reflector查看System.Web.HttpApplication.InitInternal()方法和HttpApplication.ResumeSteps()方法来了解更多详情),连续设置
2008-01-22 16:16:00
469
转载 [翻译]了解ASP.NET底层架构(六)
导读: HttpRuntime,HttpContext和HttpApplication 当一个请求到来时,它被路由到ISAPIRuntime.ProcessRequest()方法.这个方法调用HttpRuntime.ProcessRequest方法,它作一些重要的事情(用Reflector查看System.Web.HttpRuntime.ProcessRequestInternal方法):
2008-01-22 16:14:00
473
转载 [翻译]了解ASP.NET底层架构(四)
[翻译]了解ASP.NET底层架构(四)导读: 进入.NET运行时 进入.NET运行时的真正的入口发生在一些没有被文档记载的类和接口中(译著:当然,你可以用Reflector来查看J).除了微软,很少人知道这些接口,微软的家伙们也并不热衷于谈论这些细节,他们认为这些实现细节对于使用ASP.NET开发应用的开发人员并没有什么用处. 工作进程(IIS5中是ASPNET_WP.EXE,IIS
2008-01-22 16:10:00
440
转载 [翻译]了解ASP.NET底层架构(三)
[翻译]了解ASP.NET底层架构(三)导读: IIS 5 和6以不同的方式工作 当一个请求来到时,IIS检查脚本映射(扩展名映射)然后把请求路由到aspnet_isapi.dll.这个DLL的操作和请求如何进入ASP.NET运行时在IIS5和6中是不同的.图2显示了这个流程的一个粗略概览. 在IIS5中,aspnet_isapi.dll直接寄宿在inetinfo.exe进
2008-01-22 16:08:00
425
转载 [翻译]了解ASP.NET底层架构(二)
导读: 从浏览器到ASP.NET 让我们从一个典型的ASP.NET Web请求的生命周期的起点开始.当用户输入一个URL,点击了一个超链接或者提交了一个HTML表单(form)(一个POST请求,相对于前两者在一般意义上都是GET请求).或者一个客户端程序可能调用了一个基于ASP.NET的WebService(同样由ASP.NET来处理).在Web服务器端,IIS5或6,获得这个请求.在最
2008-01-22 16:05:00
416
转载 [翻译]了解ASP.NET底层架构(一)
[翻译]了解ASP.NET底层架构(一)导读: 花了两个星期的时间终于翻译的差不多了.由于文章较长,准备分几次贴出来. PS:不知道翻译的文章能不能放到首页,如果不行的话还请各位大大移走,谢谢. 原文地址:http://www.west-wind.com/presentations/howaspnetworks/howaspnetworks.asp 了解ASP.NET底层架构
2008-01-22 16:04:00
453
原创 Abstract Factory
第二章: Abstract Factory( 抽象工厂)创建一系列相互依赖的对象主要用语多系列对象的创建(对象保持恒定)不能用于对象的改变意图(Itente)提供一个接口,让该接口负责创建一系列"相关的或者相互依赖的对象",无需指定它们具体的类.结构(Stucture)
2008-01-20 20:57:00
367
原创 Singleton
从今天开始正式学习C#设计模式:第一章: Singleton模式(单列模式)该模式为创建形模式,(Creational)Intent:确保在系统中只有一个实例,并提供一个该实例的全局访问点(这个责任应该是类设计者的,而非使用者责任)单线程情况下:public class Thread...{ private static Thread _Instance
2008-01-19 15:57:00
318
转载 增强DropDownList和ListBox控件:保持客户端脚本添加的options
导读: DropDownList、ListBox由于Items是保存在ViewState中,回传后服务端会从ViewState恢复所有Items,所以,客户端对options的设置在回传后无法获取、保持。 一个解决思路是通过在页面Submit的时候,在客户端解码viewstate,找出相应items集合,根据客户端对该集合的处理,进行重新设置,然后再把更改过的viewstate重新编码提
2008-01-16 17:58:00
748
转载 关于HttpModule和HttpHandler
导读: 记得很久以前就看到过一篇文章,说搞不懂HttpModule,HttpHandler和HttpContext的算不上好的ASP.NET程序员。由此看来,在此之前我都算不上一个好的ASP.NET程序员。 要想搞清楚上面的几个东西,首先就要搞清楚当一个HttpRequest发送到服务器之后,服务器是怎么处理这个Request并且将处理的结果返回给客户端。在ASP.NET中,当
2008-01-16 17:31:00
421
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人