Google [站内搜索]

预览模式: 普通 | 列表
今天头一次在Windows 应用程序中使用Access数据库,奇怪的是代码执行后所有操作似乎被回滚了,但程序又没报错。下边是一段添加记录的代码:

using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\DB\\db1.mdb;Persist Security Info=True"))
{
    conn.Open();

查看更多...

分类:Win编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4135
在设计Windows 应用程序时,经常要用到一些小图标,经常是上各大网站中下载,今天无意发现 Visual Studio 2005/2008 本身就提供了上千个常用的小图标,ico格式、bmp格式、png格式,足以满足日常需要。


从安装盘中提取 Visual Studio 2005 图像库

查看更多...

分类:其他 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4979

C#移位运算符小节

左移运算符(<<)

将第一个操作数向左移动第二个操作数指定的位数,空出的位置补0。例如:1100100<<2=110010000,1100100左移两位后为 1100100口口,补0后为110010000。

右移运算符(>>)

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5672

Effective C# 原则21:用委托来表示回调

我:“儿子,到院子里除草去,我要看会书。”
斯科特:“爸,我已经打扫过院子了。”
斯科特:“爸,我已经把草放在除草机上了。”
斯科特:“爸,除草机不能启动了。”
我:“让我来启动它。”

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4105

.NET实现DataSet转Excel

这边我们借助一个组件MyXls来生成Excel,代码比较简单,下边的类实现将DataSet或DataTable转成Excel:

using System;
using System.Data;
using System.Configuration;

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 26046

修改IE查看源文件时使用的查看程序

在IE中选择查看源文件时,系统默认是打开notepad来查看,但安装UltraEdit后,被改成了使用UltraEdit查看源文件,比较不习惯。恢复方法:

①.展开注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name;
②.默认值原为C:\Program Files\IDM Computer Solutions\UltraEdit\uedit32.exe,修改成C:\WINDOWS\system32\notepad.exe即可;
分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5029

WinForm用户控件:ComboTextBox

WinForm应用程序做资料录入时,有些内容我们不希望让用户手工录入,而是弹出一新窗体让用户选择内容,这时我们就需要一个类似控件:



vs2008中没有这样的控件,但通过组合TextBox和Button控件可以实现要求,这样我们得做个用户控件来满足需求,命名为ComboTextBox。

查看更多...

分类:Win编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4305
粗略的看一下,感觉实现接口和虚函数重载是一样的。你定义了一些对象,但是这些对象是在另一个类型里申明的。你被第一感觉骗了,实现接口与虚函数重载是完全不同的。在接口里定义的成员默认情况下,是根本不存在实际内容的。

派生类不能重载基类中的接口成员。接口可以隐式的实现,就是把它们从类的公共接口中隐藏。它们的概念是不同的而且使用也是不同的。

但你可以这样的实现接口:让你的派生类可以修改你的实现。你只用对派生类做一个Hook就行了。(译注:相信写过C++程序的人就知道hook是什么意思,而且我也实在想不到把hook译成什么比较好,所以就直接用hook这个原词了,就像bug一样。)

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4227

ASP.NET监听用户控件的按钮点击事件

页面中的一些操作需在用户控件的按钮(以下简称按钮)点击时激发,这就需要在页面中监听按钮点击事件,一种实现方式在用户控件中添加自定义事件,在页面中订阅事件,按钮点击点激发自定义事件,代码如下:

1). 用户控件WebUserControl

WebUserControl.ascx:

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5026
抽象类在类的继承中提供了一个常规的“祖先”。一个接口描述了一个可以被其它类型实现的原子级泛型功能。各有千秋,却也不尽相同。接口是一种合约式设计:一个类型实现了某个接口的类型,就必须实现某些期望的方法。抽象类则是为一个相关类的集合提供常规的抽象方法。这些都是老套的东西了:它是这样的,继承就是说它是某物(is a,),而接口就是说它有某个功能(behaves like.)! 这些陈词滥调已经说了好久了,因为它们提供了说明,同时在两个结构上描述它们的不同:基类是描述对象是什么,接口描述对象有某种行为。

接口描述了一组功能集合,或者是一个合约。你可以在接口里创建任何的占位元素(placeholder,译注:就是指先定义,后面再实现的一些内容):方法,属性,索引器以及事件。任何实现类型这个接口的类型必须为接口里的每个元素提供具体的内容。你必须实现所有的方法,提供全部属性访问器,索引器,以及定义接口里的所有事件。你在接口里标记并且构造了可重用的行为。你可以把接口当成参数或者返回值,你也可以有更多的机会重用代码,因为不同的类型可以实现相同的接口。更多的是,比起从你创建的基类派生,开发人员可以更容易的实现接口。(译注:不见得!)

你不能在接口里提供任何成员的具体实现,无论是什么,接口里面都不能实现。并且接口也不能包含任何具体的数据成员。你是在定义一个合约,所有实现接口的类型都应该实现的合约。

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5022