
C#
EasonHoi
这个作者很懒,什么都没留下…
展开
-
消息映射表
internal class Win32Message { public const int WM_NULL = 0x0000; public const int WM_CREATE = 0x0001; public const int WM_DESTROY = 0x0002; publ原创 2010-03-24 11:56:00 · 451 阅读 · 0 评论 -
多线程同步 - Array.SyncRoot 属性
获取可用于同步 Array 访问的对象。 命名空间:System 程序集:mscorlib(在 mscorlib.dll 中)基于 Array 的 .NET Framework 类使用 SyncRoot 属性提供它们自己的集合同步版本。 使用数组的类也可以使用 SyncRoot 属性来实现它们自己的同步。同步代码必须在集合的 SyncRoot 上执行操作,而不是直接在集合上执转载 2010-04-23 14:52:00 · 582 阅读 · 0 评论 -
C#下如何实现无标题可拖动窗口
<br />1。重写Wndproc<br />using System;<br />using System.Collections.Generic;<br />using System.ComponentModel;<br />using System.Data;<br />using System.Drawing;<br />using System.Linq;<br />using System.Text;<br />using System.Windows.Forms;<br />namespace转载 2010-09-09 09:55:00 · 936 阅读 · 0 评论 -
C#全局鼠标键盘Hook
<br />using System;<br />using System.Collections.Generic;<br />using System.Reflection;<br />using System.Runtime.InteropServices;<br />using System.Text;<br />using System.Windows.Forms;<br /><br />namespace Study<br />{<br /> // <summary> <br />转载 2010-09-10 09:38:00 · 2781 阅读 · 0 评论 -
C#之读取web上的xml
<br /> 一、使用LINQ读取<br /> 使用Xdocument上的Load方法,可以快速的加载一个XML文档,然后使用LINQ对 加载XML文档进行查询或其他操作,这里仅简单偏历。所以,一旦查询一组元素有返回元素集,就可以使用一个简单的foreach循环访问每一个元素。核心代码如下:<br />/// <summary><br /> /// 使用LINQ读取web上的xml<br /> /// </summary><br /> public static void UseLIN转载 2010-09-20 10:43:00 · 464 阅读 · 0 评论 -
C#创建和调用DLL
<br />一、写在前面<br />C# 语言是一种简单但功能强大的编程语言,用于编写企业应用程序。 <br />C# 语言从C和 C++语言演化而来,在语句、表达式和运算符方面使用了许多 C++ 功能。<br />C# 语言在类型安全性、版本转换、事件和垃圾回收等方面进行了相当大的改进和创新。<br />C# 语言提供对常用 API 样式(如 .NET 框架、COM、自动化和 C 样式 API 等)的访问。<br /> 什么是动态链接库?DLL三个字母对于你来说一定很熟悉吧,它是Dynamic转载 2010-09-20 11:10:00 · 404 阅读 · 0 评论 -
多线程时DragDrop 注册失败的问题
<br /> 今晚在调试别人的代码时,遇到DragDrop 注册失败的问题,一直没法过去。原以为是DirectX的问题,试了半天,问题没解决。于是去百度了一下该问题,遇到跟我相同问题的方法的网友很多,最后发现http://blog.youkuaiyun.com/zapzqc/archive/2008/03/25/2216105.aspx上的方法可以解决问题。<br /> 现在引用如下:<br />“<br />首先在 static void Main() 函数前加上 [STAThreadAttribu转载 2010-09-21 12:45:00 · 1261 阅读 · 0 评论 -
C#中让本身程序不能同时执行多个
<br />方法一:使用Mutex来进行 <br /> 1. 首先要添加如下的namespace: <br /> using System.Threading; <br />2. 修改系统Main函数,大致如下: <br /> bool bCreatedNew; <br /> //Create a new mutex using specific mutex name <br /> Mutex m =n转载 2010-09-21 15:41:00 · 1015 阅读 · 0 评论 -
C# XmlHelper类
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml;namespace xxxxxx{ classXmlHelper { public XmlHelper() {转载 2013-09-19 13:18:35 · 1305 阅读 · 1 评论 -
C# 无边框窗体移动和改变大小的实现
自己给软件做的皮肤,将窗体设为无边框后,想要其具有正常窗体的移动和改变大小功能,以下代码可以实现。。。。//需添加using System.Runtime.InteropServices;[DllImport("user32.dll")] public static extern bool ReleaseCapture();[DllImport("user32.dll转载 2013-09-21 23:08:34 · 1851 阅读 · 0 评论 -
C#窗口吸附
#region //仿QQ窗体靠边吸附功能 private void Form1_Load(object sender, EventArgs e) { Timer StopRectTimer = new Timer(); StopRectTimer.Tick += new EventHandler(timer1转载 2013-09-22 16:29:40 · 1719 阅读 · 0 评论 -
C#写文件时打开
FileStream fs = new FileStream(lsLogPath,FileMode.Open,FileAccess.Read,FileShare.ReadWrite); StreamReader txtStreamReader =new StreamReader(fs); string ls原创 2013-11-15 17:58:01 · 506 阅读 · 0 评论 -
C# listview columnheader 右键事件
Handling Right-Click Events in ListView Column HeadersBy MarkLTX, 5 Feb 2008 4.86 (25 votes) Sign Up to vote转载 2013-11-20 21:27:26 · 2783 阅读 · 0 评论 -
C#-单词首字母大写
方法一:(一个单词)引用一个现成的函数:System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(string str);方法二:(多个单词)首先要添加引用Microsoft.VisualBasic,还要添加命名空间:using Microsoft.VisualBasic;转载 2013-11-07 15:54:10 · 3175 阅读 · 0 评论 -
c#中窗体使用Invoke和BeginInvoke详解
在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate,至于委托的本质请参考我的另一随笔:对.net事件的看法。 一、为什么Control类提供了Invoke和BeginInvoke机制?关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。1、windows程序消息机制转载 2013-11-25 15:47:56 · 10791 阅读 · 2 评论 -
C#MD5函数
using System.Security.Cryptography;using System.IO;///MD5加密 public string MD5Encrypt(string pToEncrypt, string sKey) //sKey必须为8位 { DESCryptoServiceProvider des = new DESCrypto转载 2010-04-19 10:40:00 · 867 阅读 · 0 评论 -
C#操作Access类
using System;using System.Data;using System.Data.OleDb;namespace AccessDb{ /**//// /// AccessDb 的摘要说明,以下信息请完整保留 /// 请在数据传递完毕后调用Close()方法,关闭数据链接。 /// public class A原创 2010-04-19 10:38:00 · 2134 阅读 · 0 评论 -
在C#中应用哈希表(Hashtable)
一、哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的k转载 2010-04-08 15:25:00 · 563 阅读 · 0 评论 -
C#中List与IList的区别
List类:表示可通过索引访问的对象的强类型列表,提供用于对列表进行搜索、排序和操作的方法。IList接口:表示可按照索引单独访问的一组对象。下面谈谈它们之间的区别:首先,List是一个类,IList是一个接口。接口和类的区别是本质的,类是负责功能的实现,而接口则是负责功能的定义。所以它们的区别本质上也就是类和接口的区别。具体来说,IList 泛型接口是 ICollection 泛原创 2010-03-25 10:11:00 · 339 阅读 · 0 评论 -
INI读写类
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Runtime.InteropServices;using System.Windows.Forms;using System.IO;namespace MyProjec原创 2010-03-25 10:34:00 · 348 阅读 · 0 评论 -
SQL2000操作类
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;using System.Windows.Forms;using System.Data;namespace MyPorject{ c原创 2010-03-25 10:37:00 · 557 阅读 · 0 评论 -
C#基础概念二十五问
注:本文部份资料来自网络,如有侵权,请与我联系,我会在第一时间声明引用或将其删除!当初学 C# 时是找个人大概问了一下数据类型和分支语句就开始做项目了。这两天又全面的看了一下相关的基础知识(学而时习之嘛),总结了25个问题:1.静态成员和非静态成员的区别?2.const 和 static readonly 区别?3.extern 是什么意思?4.abstract 是什么意思?5.int转载 2010-03-25 12:05:00 · 463 阅读 · 0 评论 -
C#正则表达式整理备忘
(1)“@”符号符下两ows表研究室的火热,当晨在“@”虽然并非C#正则表达式的“成员”,但是它经常与C#正则表达式出双入对。“@”表示,跟在它后面的字符串是个“逐字字符串”,不是很好理解,举个例子,以下两个声明是等效的:string x="D://My Huang//My Doc";string y = @"D:/My Huang/My Doc";事实上,如果按如下声明,C#将会报错,因为“/”转载 2010-03-25 12:09:00 · 317 阅读 · 0 评论 -
C#中调用API函数RegisterHotKey注册多个系统热键
要设置快捷键必须使用user32.dll下面的两个方法:BOOL RegisterHotKey( //注册系统热键的API函数 HWND hWnd, int id, UINT fsModifiers, UINT vk ); BOOL UnregisterHotKey( //删除系统热键的API函数 HWND hWnd, int id ); 在C#中引用命名空间System.Runtim原创 2010-03-24 12:01:00 · 574 阅读 · 0 评论 -
C#钩子应用实例
C#钩子应用实例一。写在最前 本文的内容只想以最通俗的语言说明钩子的使用方法,具体到钩子的详细介绍可以参照下面的网址:http://www.microsoft.com/china/community/program/originalarticles/techdoc/hook.mspx二。了解一下钩子从字面上理解,钩子就是想钩住些东西,在程序里可以利用钩子提前处理些Windows消息。转载 2010-03-24 12:04:00 · 1751 阅读 · 0 评论 -
Virtual Key Codes (键盘虚拟码)
Symbolic constantHexadecimal valueMouse or keyboard equivalentVK_LBUTTON0x01Left mouse button.VK_RBUTTON0x02Right mouse button.VK_CANCEL0x03Control–break proc原创 2010-03-24 12:38:00 · 1265 阅读 · 0 评论 -
键盘扫描码
Key Scan Code~ ` 29! 1 2@ 2 3# 3 4$ 4 5% 5 6^ 6 7& 7 8* 8 9( 9 0A) 0 0B_ - 0C+ = 0DBackspace 0ETab 0FQ 10W 11E 12R原创 2010-03-24 11:58:00 · 570 阅读 · 0 评论 -
键盘消息中的LParam参数定义
0-15位:指定当前消息的重复次数。其值就是用户按下该键后自动重复的次数,但是重复次数不累积16-23位:指定其扫描码,其值依赖于OEM厂商24位:指定该按键是否为扩展按键,所谓扩展按键就是Ctrl,Alt之类的,如果是扩展按键,其值为1,否则为0 25-28位:保留字段,暂时不可用 29位:指定按键时的上下文,其值为1时表示在按键时Alt键被按下,其值为0表示WM_SYSKEYDOWN消息因没有原创 2010-03-24 11:58:00 · 2244 阅读 · 0 评论 -
获取密码框(MaskedTextBox)文本
用GetCursorPos和WindowFormPoint 两个 API 函数获得鼠标所指的对象的句柄获取密码文本。这个用GetWindowText是得不到的,但用SendMessage发一条WM_GETTEXT消息,它就会老老实实地把密码传回来了原创 2010-03-24 12:19:00 · 1074 阅读 · 0 评论 -
C#数组学习
数组概述C# 数组从零开始建立索引,即数组索引从零开始。C# 中数组的工作方式与在大多数其他流行语言中的工作方式类似。但还有一些差异应引起注意。声明数组时,方括号 ([]) 必须跟在类型后面,而不是标识符后面。在 C# 中,将方括号放在标识符后是不合法的语法。int[] table; // not int table[]; 另一细节是,数组的大小不是其类型的一部分,而在 C 语言转载 2010-03-25 11:29:00 · 358 阅读 · 0 评论 -
接口使用例子
using System;namespace Delegate{ class DelegateSample { static void Main(string[] args) { clsProject Proj = new clsProject(); IProgrammer Program; //调用VBProgrammer Prog原创 2010-03-25 15:25:00 · 477 阅读 · 0 评论 -
Form与Form之间的通信
今天在该网站看到这么一篇文章: "C#如何实现两个WINFORM之间的访问". 把写的代码考下来的确能实现,不过大家不知道有没有发现一个问题. 写这篇文章的人把问题搞的更糟了. 为什么这么说呢. 请看我对这个问题的解决方法.大家知道面向对象程序设计的一个特点是多态.,一个是封装,还一个是继承,最后这个我们这么不做多余的说明.实现方法如下:1. 从Form 继承一个 Form1类.2.原创 2010-03-26 09:16:00 · 618 阅读 · 0 评论 -
C#字体设置
private void radioButton1_CheckedChanged(object sender, System.EventArgs e) { //设置字体为宋体 textBox1.Font=new Font("宋体",textBox1.Font.Size,textBox1.Font.Style); } private void ra转载 2013-12-03 09:36:37 · 4606 阅读 · 0 评论