10 2009 档案
摘要:原文地址:http://tdqing.javaeye.com/blog/453061今天开发服务器突然连接不上,sqlplus /nolog、conn /as sysdba、startup命令后显示SQL> startupORA-01078: failure in processing system parametersLRM-00109: could not open parameter ...
阅读全文
摘要:为了最好地理解该软件的开发思路,请大家参阅http://blog.csdn.net/arserangel/archive/2009/10/05/4633180.aspx我个人也是参照作者的思想,美化了下界面而已。而事实上该软件还存在很多不足之处:1.收藏夹的功能还没有完善2.控件的美化3.Favicons的处理经历了本项目后,本人深受打击,决定还是老老实实看书,学习下GDI+相关的,本软件的进一步...
阅读全文
摘要:抱歉,昨天晚上没来得及整理,没有将源码及时发上来注:本程序完全可以当作Demo,有心的朋友,也可以将用户名和密码两个文本框制作成自己的控件,方便以后使用,初学者,我建议下载源程序后对照我的文章《一个登陆窗体引发的问题系列》进行学习。程序功能:1.对用户名进行了输入限制,仅能输入数字、字母和下划线的组合,且长度不超过10个字符2.对密码进行了限制,屏蔽了鼠标右键,禁止粘贴和复制,且长度不超过16个字...
阅读全文
摘要:本来文章到这里似乎都可以结束了,但是在最后又萌生了一个念头,为了更提高软件的交互性和人性化,我在这里继续添加一个软件记忆功能。实现的效果图,大致如下:其实使用软件功能主要要用到textbox的三个属性AutoCompleteCustomSource、AutoCompleteSource、AutoCompleteMode,具体相关属性可参阅MSDN文档:http://msdn.microsoft.c...
阅读全文
摘要:在实际项目中,并不会是一个登陆窗体单独存在的,一般我们会放在主窗口前进行调用的,这里有两种方法注:frmMain 代表主窗口 Login 代表登陆窗口第一种方法在private void frmMain_Load(object sender, EventArgs e) 方法里添加以下代码[代码]在private void btnLogin_Click(object sender, EventArg...
阅读全文
摘要:实际的登陆窗体过程中,我们会遇到多用户情况,这里我们就必须用到数据库,或许我们可以直接编写代码连接数据库表进行查询判断,这样首先是可以的,但是为了编写高性能和高安全性的的登陆窗体,我们推荐使用存储过程来实现这一功能:建立存储过程如下:(UserInfo.sql)==================这里是数据库代码=================use mastergoif exists(sele...
阅读全文
摘要:密码文本狂的输入限制主要也集中于以下两个问题:一、密码长度的输入限制这个和用户名的输入限制一样,直接更改txtPassword MaxLength的属性即可,我们这里设为16二、密码的显示方式直接更改txtPassword 的PasswordChar的属性,一般都设为"*".三、密码文本框不能粘贴、复制和屏蔽右键这是一个难点,我们使用的方法是写一个新类继承textBox,并重写他的WndProc方...
阅读全文
摘要:在探讨文本框的输入限制时,我们主要集中两个问题:一、怎样限制用户名输入的长度?答:设置txtName的属性 MaxLength="10"; (我们这里以10个字符为例)二、怎样限制用户名只输入字母 数字以及下划线答:有两种方法可以实现方法1:[代码]方法二:[代码]对于这两种方法各有优劣,大家在实际应用中也会发现,第一种方法可以在输入前就限定用户输入不符合的字符,第二种方法是用户输入后再做的判断。...
阅读全文
摘要:登陆窗口无论是在WinForm里面还是在WebFrom都是相当常见的,但总体感觉在WebForm里面处理起来会相对简单些,本人初学WinForm,将本人在开发登陆窗体的设计过程记录下来,与大家分享,文章从一个简单的登陆窗口开始,直至各种功完善,有错误之处还望批评指正~窗体的界面设计应该来说是个比较简单的过程吧,大致界面如下:Form1的几个属性:MaximizeBox:False(取消最大化)Fo...
阅读全文
摘要:利用 IrisSkin2.dll 所提供的控件 SkinEngine 来为窗体添加皮肤。IrisSkin2.dll 及 皮肤素材,下载地址:http://download.csdn.net/source/17443551. 先把IrisSkin2.dll文件添加到当前项目引用(解决方案资源管理器->当前项目->引用->右键->添加引用,找到IrisSkin2.dll文件.....
阅读全文
摘要:在介绍工具之前,我需要说明几点:1.如果你编写的软件不涉及商业用途的话,本着开源的思想,本人不推荐使用代码混淆器2.使用代码混淆器存在一定的风险,在使用前最好做好相关代码备份3.凡是需要序列化成二进制的代码,是不能用混淆器的。混淆后的代码将不能正常序列化!DotFuscator是VS里面一个自带的代码混淆器,VS——工具——Dotfuscator C...
阅读全文
摘要:下载地址:http://files.cnblogs.com/cnmawei/Reflector.rar(5.0版本的,不是最新的,大家自己更新下就好了)PS:打开该文件时 会提示更新,和一个引用插件的提示,但这并影响程序的运行和使用部分插件下载地址:Reflector.FileDisassemblerThis add-in can be used to dump the disassembler ...
阅读全文
摘要:在msdn中文论坛上,遇到的一个问题,应楼主需求写了相关代码,没多大技术含量,高手飘过吧。下载本文相关示例:http://files.cnblogs.com/Jason_z/Ipv6ConvertTest.rar如果你对IPv6地址的语法格式还不是很够熟悉,建议阅读:http://375362she.blog.51cto.com/365362/73629楼主给出的IPv6地址 是:fe80::c9...
阅读全文
摘要:在WinForm中经常遇到一些费时的操作界面,比如统计某个磁盘分区的文件夹或者文件数目,如果分区很大或者文件过多的话,处理不好就会造成“假死”的情况,或者报“线程间操作无效”的异常,为了解决这个问题,可以使用委托来处理,在.net2.0中还可以用BackgroundWorker类。BackgroundWorker类是.net 2.0里新增加的一个类,...
阅读全文
摘要:原文地址:http://www.yeeyan.com/articles/view/maguschen/23347这篇文章是由José M. Aguilar在他卓越的博客中以西班牙语的形式首发,其后Timm Martin在获得Aguilar先生的授权下,对该文章进行翻译、修改,并且在DevTopics上发布。以下13个小技巧可以使得你的代码在长时间内依然能够保持容易理解和维护。1. 对不同...
阅读全文
摘要:看到这个题目,我们可能会有点迟疑,理论上讲一个函数只有一个返回值,是的,确实是这样,但我们同样也有方法可以实现这个效果:使用ref关键字:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--//Example1usingSystem;namespacePr...
阅读全文
摘要:习惯了C、C++的程序员,也似乎习惯了形参、实参、指针的一些概念,于是在学习C#的时候总会将一些思想与指针混淆,希望通过这篇文章能够让还在参数传递问题上困惑的大家能够有一个清晰的认识。文章内容会略显冗长,高手可以飘过,但如果想弄明白这个问题的,我建议你能耐心的看完~在谈到参数传递的问题前,必须了解以下两个问题:一、值类型 与 引用类型如果对这个概念都分不清楚,建议读者参考:http://www.c...
阅读全文
摘要:对变长数组使用foreach循环时,通常都要嵌套循环,才能得到该数据。[代码]
阅读全文
摘要:不同命名空间中的相同名称会产生冲突,使系统崩溃,此时可以为命名空间提供一个别名,作为using语句的一部分。[代码]Levelone命名空间中的代码把LevelOne.NameTree引用为NameTree,把LevelOne.LevelTwo.NameTree引用为LT.NameTree。在上面的代码中,全局命名空间不能使用LT.NameTree,但如果using语句声明在namespace L...
阅读全文
摘要:作为一个初学者,我觉得为了以后有良好的开发习惯,这些细节的问题不得不注意~1.用pascal规则来命名方法和类型. public class TextBox {public void DataBind(){} } 2.用camel规则来命名局部变量和方法的参数. string userName; public AddUser(string userId, byte[] password); 3.所...
阅读全文
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--staticvoidmain(){inti;for(i=0;i<10;i++){stringtext="Line"+Covert.ToString(i);Console.WriteLine("{0}...
阅读全文
摘要:这个问题应该是困扰任何一门语言初学者的问题,为此整理了网上的一些资料,希望能为大家解惑。首先对于C#中的数据类型,只有两种,不是值类型就是引用类型。值类型:结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型引用类型:数组,用户定义的类、接口、委托,object,字符串。从表面的概念上看,值类型是直接存储其值,而引用类型存储的是对值的引用。从存储在内存的位置来看,值类型是存储在堆栈(线...
阅读全文
摘要:Console.ReadLine(); 会等待直到用户按下回车,一次读入一行;Console.ReadKey(); 则是等待用户按下任意键,一次读入一个字符。
阅读全文
摘要:Write()和WriteLine()都是System.Console提供的方法,两者主要用来将输出流由指定的输出装置(默认为屏幕)显示出来。两者间的差异在:Console.WriteLine()方法是将要输出的字符串与换行控制字符一起输出,当次语句执行完毕时,光标会移到目前输出字符串的下一行.Console.Write()方法,光标会停在输出字符串的最后一个字符后,不会移动到下一行。
阅读全文