- 博客(42)
- 收藏
- 关注
原创 using 语句
在 using 语句中创建一个实例,确保退出 using 语句时在对象上调用 Dispose。当到达 using 语句的末尾,或者如果在语句结束之前引发异常并且控制离开语句块,都可以退出 using 语句。实例化的对象必须实现 System.IDisposable 接口。示例// cs_using_statement.cs// compile with /reference:System.Dr
2005-02-21 11:05:00
1112
原创 Divider Panel - 创建自定义 Windows Forms 控件全攻略
ContentsIntroduction Creating a New Solution Inheriting From Existing Controls Adding Properties and Accessors Overriding Inherited Methods Adding Property Desc
2005-02-02 16:57:00
1336
原创 使用c#创建windows本地用户帐号
Using the Windows net command, it’s easy to create local Windows User Accounts. The syntax for the net command is:net user [username] [password] /ADDThe following C# function takes in three parame
2005-02-01 12:17:00
1919
原创 图片保存至XML文档相关
将图片保存到一个XML文件WinForm的资源文件中,将PictureBox的Image属性等非文字内容都转变成文本保存,这是通过序列化(Serialization)实现的,例子://using System.Runtime.Serialization.Formatters.Soap;Stream stream = new FileStream("E://Image.xml",FileMode.C
2005-01-31 11:19:00
966
原创 在WinForm的DataGrid中加入ComboBox
WinForm的DataGrid要显示ComboBox的效果必须要写一个继承自DataGridTextBoxColumn的类, 並在其中制作ComboBox的功能, 再把这个类的对象加入到DataGrid中使用即可, 做法如下: DataGridComboBoxColumn ComboCol =new DataGridComboBoxColumn(); ComboCol.Mappin
2005-01-27 16:39:00
1097
原创 解决Windows 程序界面闪烁问题的一些经验(转载)
一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。先来谈谈闪烁产生的原因原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的。这样问题就来了
2005-01-25 16:46:00
866
原创 使有标题栏的Form窗体不可移动
protected override void WndProc(ref Message m) { const int WM_NCLBUTTONDOWN = 161; const int WM_SYSCOMMAND = 274; const int HTCAPTION = 2; const int SC_MOVE = 61456; if((m.Msg
2004-12-30 15:31:00
1018
原创 使用TCP与UDP协议编程
Programming with TCP and UDPThese two protocols move data between network devices in very different ways. The following sections describe the features and pitfalls that each protocol presents to n
2004-12-29 16:46:00
1436
原创 Remoting 设置架构
.NET Framework General Reference Remoting Settings SchemaContains tags used to put custom settings in remoting application configuration files. (Instance
2004-12-06 12:29:00
888
原创 使用.INI文件为输入界面创建“动态帮助”
在c#编程中,某些情况下我们可能还会用到.INI文件。例如为一个输入界面创建“动态帮助”:我们在输入界面下方设置一个标签,当用户将光标移动到每一个TextBox或其他输入,选择框时,标签文字自动变换为该输入项的一些帮助信息。INI文件是文本文件,由若干节(section)组成,在每个带括号的标题下面,是若干个关键词(key)及其对应的值(Value) [Section] Key=Val
2004-11-29 13:39:00
787
原创 一段模拟发送程序
Send sendForm = new Send(); sendForm.Show(); sendForm.button1.Enabled = false; Application.DoEvents();//这一句可以消除界面上控件的显示不正常 Thread.Sleep(1000);//程序阻塞1秒钟时间 sendForm.lbSend.Text
2004-11-29 13:07:00
572
原创 C#编码规范
一、类型级单位的命名1、类。以Class声明的类,都必须以名词或名词短语命名,体现类的作用。如:Class Indicator当类是一个特性(Attribute)时,以Attribute结尾,当类是一个异常(Exception)时,以Exception结尾:Class ColorSetExceptionClass CauseExceptionAttribute当类只需有
2004-11-18 14:03:00
596
原创 在WinForm中通过HTTP协议向服务器端上传文件(转载)
相信用ASP.NET写一个上传文件的网页,大家都会写,但是有没有人想过通过在WinForm中通过HTTP协议上传文件呢?有些人说要向服务器端上传文件,用FTP协议不是很简单吗?效率又高,为什么还要使用HTTP协议那么麻烦呢?这里面有几个原因:(1)FTP服务器的部署相对麻烦,还要设置权限,权限设置不对,还会惹来一系列的安全问题。(2)如果双方都还有防火墙,又不想开发FTP相关的一些端口
2004-11-16 22:16:00
1015
1
原创 HTTP协议基本知识
HTTP协议 超文本传输协议(Hyper Text Transfer Proctocal,HTTP)是WWW浏览器(客户机)和服务器之间的应用层通信协议。HTTP是用于分布式协作超媒体信息系统的快速实用协议,是通用的、无状态的、面向对象的协议。WWW是以超文本(Hyper Text)为基础的。超文本是一种开放的阅读信息方式,可以根据阅读者的喜好有选择的阅读信息。
2004-11-16 22:10:00
1146
转载 DataTable,DataView和DataGrid中一些容易混淆的概念(ZT)
一、DataTable DataTable表示内存中数据的一个表,它完全是在内存中的一个独立存在,包含了这张表的全部信息。DataTable可以是从通过连接从数据库中读取出来形成的一个表,一旦将内容读到DataTable中,此DataTable就可以跟数据源断开而独立存在;也可以是完全由程序自己通过代码来建立的一个表。◆ DataColumn一个表是由行和列组成的一个两维的
2004-11-12 13:37:00
613
原创 vs.net web项目使用visual source safe进行源代码管理(转)
这段时间在公司做一个.net项目, 一个项目开发小组3个人,开发环境是vs.net,语言是c#,三个人协同开发。既然是协同开发,就要找一个源代码控制软件来进行开发中的源代码管理和版本控制。我们首先想到的是clearcase,名气大嘛,而且大家都没用过,都想尝尝鲜。谁知道这个玩意实在是太复杂了,先是要在window2000上安装active directory (就这都弄了一整天),然后又是l
2004-11-12 13:23:00
666
原创 用imgscan.ocx来扫描图像(转)
可能有的朋友做oa软件时可能要用到扫描图像的功能,在这里我简要说一下imgscan.ocx的用法。Imgscan.ocx在winnt的安装目录下就有,它支持Twain标准,一般扫描仪都适用。ocx控件我们在c#中也是可以调用的。属性://是否在扫描前显示设置界面ShowSetupBeforeScan//扫描到哪里(传真、文件目录等)ScanTo//扫描到文件夹的位置Image例如:axImgS
2004-11-09 15:08:00
4735
1
原创 SQL语法手册
SQL语法手册Select 用途: 从指定表中取出指定的列的数据 语法: SELECT column_name(s) FROM table_name 解释: 从数据库中选取资料列,并允许从一或多个资料表中,选取一或多个资料列或资料行。 SELECT 陈述式的完整语法相当复杂,但主要子句可摘要为: SELECT select_list [ INTO
2004-11-05 11:40:00
999
原创 mIRC QuickStart(转载)
有的朋友写信告诉我不会用mIRC,所以中午写了一个QuickStart,大家照做就可以了!mIRC的使用1.在www.mirc.com下载一个最新版的客户端软件,在本机安装。2.第一次运行时,弹出一个mIrc Options窗口(如果没有,可以从View-Options打开)可以在这里设置个人表示和登陆选项。(1)在Category中选择Connect类,填入自己的全名,邮件地址,昵称,可替换名就
2004-11-02 16:10:00
706
原创 概述C#中的索引器(转载)
C#语言一个最令人感兴趣的地方就是类的索引器(indexer)。简单说来,所谓索引器就是一类特殊的属性,通过它们你就可以像引用数组一样引用自己的类。显然,这一功能在创建集合类的场合特别有用,而在其他某些情况下,比如处理大型文件或者抽象某些有限资源等,能让类具有类似数组的行为当然也是非常有用的。本文就会引领你设置类来采用索引器。但是,首先让我们概述下属性这个概念以便了解些必要的背景知识。 属性
2004-11-02 15:53:00
1137
原创 浅析.Net下的多线程编程(转载)
多线程是许多操作系统所具有的特性,它能大大提高程序的运行效率,所以多线程编程技术为编程者广泛关注。目前微软的.Net战略正进一步推进,各种相关的技术正为广大编程者所接受,同样在.Net中多线程编程技术具有相当重要的地位。本文我就向大家介绍在.Net下进行多线程编程的基本方法和步骤。 开始新线程 在.Net下创建一个新线程是非常容易的,你可以通过以下的语句
2004-11-02 11:57:00
632
原创 TreeView控件心得(转载)
总结了一下用MS的TREE控件的心得,大家一起来分享,当然,也不乏有其他网友的一些好的见解被录入其中,另有遗漏处请大家不吝赐教!相信只要你仔细阅读了这篇小菜文,并参考一下提供的例程,一定能够掌握TREE的基本用法!1.工欲善其事,必先利其器。首先保证装好你的组件,这个包安装非常方便,只要运行一下即可在VS.NET的工具栏中找到并使用了:http://218.56.11.178:8018/F
2004-10-29 09:49:00
3014
2
原创 Visaul C#托盘程序制作心得
首先,当然要引入NotifyIcon控件。private System.Windows.Forms.NotifyIcon notifyIconServer;this.notifyIconServer = new System.Windows.Forms.NotifyIcon(this.components);接下来设置控件的各项属性: // // notifyIconServer //
2004-10-28 15:53:00
685
原创 使用ImageList时候发生运行错误提示资源问题的解决方法
今天在给一个程序加入ImageList的时候碰到了这样的运行错误:未能在给定的程序集中找到任何适合于指定的区域性(或非特定区域性)的资源。请确保已将“frmMain.resources”正确嵌入或链接到程序集“XXX”。baseName: yyy locationInfo: xxx.yyy resource file name: yyy.resources assembly: XXX, Ve
2004-10-27 17:24:00
895
原创 Running Worker Thread in C#
Alex F January 29, 2002 Environment: Visual Studio .NET Beta 2, Windows 2000 SP2 .NET framework allows a lot of ways to implement multithreading program. I want to show how we can run w
2004-10-26 12:17:00
1422
原创 在线程中向 TreeView 控件中直接添加接点
public void myAddNode(){ treeView1.Nodes.Add("test");}public void AddNode(){ MethodInvoker mi = new MethodInvoker(this.myAddNode); this.BeginInvoke(mi); Thread.Sleep(5000);//Only for debug}调用Threa
2004-10-26 12:06:00
772
原创 “.net百题问答的活动”--许多人问过的--《 C#委托及事件 》 (转载与整理)
有许多人问的,.Net中的委托以及事件处理。我拿简单的例子说明一下,是现实中的例子:比如说一个公司(场景),你是老板,手下有两个员工,小张和小王。你命令小王,如果小张玩游戏,则小王扣去小张500元钱。这就是现实中的委托。实际上,在写程序中,程序员就是老板,小张和小王就是两个对象。小张玩游戏是一个方法,小张还有一个游戏事件,他玩游戏激发这个事件。而小王就是事件处理对象,他负责把小张的钱扣
2004-10-25 11:18:00
708
原创 浅析Visual C#事件处理机制(转载)
事件简介: 任何进行过图形用户界面开发的编程人员都会知道事件的概念。当用户在使用程序的时候,用户必然要和程序进行一定的交互。比如当用户点击窗体上的一个按钮后,程序就会产生该按钮被点击的事件,并通过相应的事件处理函数来响应用户的操作。这样用户的直观感觉就是程序执行了我要求的任务了。当然,事件并不一定是在和用户交互的情况下才会产生的,系统的内部也会产生一些事件并请求处理的,比如时钟事件就是一个很好例
2004-10-22 12:08:00
592
原创 浅析C#的事件处理和自定义事件(转载)
一、了解C#中的预定义事件处理机制 在写代码前我们先来熟悉.net框架中和事件有关的类和委托,了解C#中预定义事件的处理。 EventArgs是包含事件数据的类的基类,用于传递事件的细节。 EventHandler是一个委托声明如下 public delegate void EventHandler( object sender , EventAr
2004-10-22 12:06:00
624
原创 HOW TO: Create a Smooth Progress Bar in Visual C# .NET
HOW TO: Create a Smooth Progress Bar in Visual C# .NETArticle ID:323116Last Review:November 25, 2002Revision:1.0This article was previously published under Q323116For
2004-10-21 17:38:00
1627
原创 C#中的委托
委托是C#中的一种引用类型,类似于C/C++中的函数指针。与函数指针不同的是,委托是面向对象、类型安全的,而且委托可以引用静态方法和实例方法,而函数指针只能引用静态函数。委托主要用于 .NET Framework 中的事件处理程序和回调函数。一个委托可以看作一个特殊的类,因而它的定义可以像常规类一样放在同样的位置。与其他类一样,委托必须先定义以后,再实例化。与类不同的是,实例化的委托没有与之相
2004-10-21 15:52:00
489
原创 string to int
将textbox中输入的数字从字符形式变成int一般有2种方法:1.利用Convert string MyString; Convert.ToInt32(MyString);2.强制转换 Int32.Parse(MyString);
2004-10-21 14:19:00
630
原创 类构造函数
类构造函数请参见三种类构造函数:类构造函数的类型注释实例用于创建并初始化类的实例。私有在类之外不可访问的特殊类型实例构造函数。无法用私有构造函数来实例化类。静态在创建第一个实例或引用任何静态成员之前,将自动调用这种构造函数来初始化类。无法直接调用这种构造函数。
2004-10-15 13:54:00
872
原创 struct和byte[]之间的转换
static byte[] StructToBytes(object structObj){int size = Marshal.SizeOf(structObj);IntPtr buffer = Marshal.AllocHGlobal(size);try{Marshal.StructureToPtr(structObj, buffer, false);byte[] bytes = new b
2004-10-15 11:14:00
895
原创 const and readonly
A constant expression is an expression that can be fully evaluated at compile time. Therefore, the only possible values for constants of reference types are string and null.所以C#实际上只支持:const string c
2004-10-12 10:36:00
770
原创 something about "static "
静态成员(包括静态方法),是属于class的,而不是属于这个class的某个实例。比如说整数类,我可能需要输出整数类的某个实例的值的大小,还有可能要获取整数类能代表的最大值。其中“整数类的最大值”就不是属于某个特定的整数类的实例,而是属于整数类的,这样获取“整数类的最大值”的方法就必须是静态的。比如:class Integer { int value; public static in
2004-10-11 17:26:00
580
原创 使用C#进行SMTP协议客户端开发心得--读取服务器应答篇
以TcpClient连接方式为例,首先取得服务器发回的数据流。NetworkStream streamAccount=tcpClient.GetStream();当我们对smtp服务器发送请求,例如连接,传送用户名,密码后,服务器会返回应答数据流。我们必须对服务器返回数据流进行读取,这一步我经历了3次改动。最开始的程序是按照《Visaul C#.NET网络核心编程》这本书上的例子来写的:priva
2004-10-11 10:45:00
1134
1
原创 使用C#进行SMTP协议客户端开发心得--连接篇
一. 关于与服务器的连接与smtp服务器的连接一般采用两种方式:第一种: 当服务器地址是字符串型的,例如“smtp.tom.com”,“211.128.11.25”这样的形式时,我们可以用TcpClient类建立连接。 tcpClient = new TcpClient (smtpServer, smtpPort); 隶属命名空间: System.Net.Sockets.TcpClien
2004-10-11 10:07:00
982
原创 HMAC-MD5的C#实现
由于工作的需要,编写了一个C#版本的HMAC-MD5加密算法。/** * * hmac_md5口令加密算法 * */ public byte[] hmac_md5(string timespan, string password) { byte[] b_tmp; byte[] b_tmp1; if (password == null) { return nul
2004-10-10 14:24:00
1422
原创 HMAC的定义(RFC2104)
定义HMAC需要一个加密用散列函数(表示为H)和一个密钥K。我们假设H是一个将数据块用一个基本的迭代压缩函数来加密的散列函数。我们用B来表示数据块的字长。(以上说提到的散列函数的分割数据块字长B=64),用L来表示散列函数的输出数据字长(MD5中L=16,SHA—1中L=20)。鉴别密钥的长度可以是小于等于数据块字长的任何正整数值。应用程序中使用的密钥长度若是比B大,则首先用使用散列函数H
2004-09-27 16:14:00
1909
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人