
C#
mngzilin
天下没有免费的午餐.
展开
-
C# Hashtable Synchronized vs SyncRoot
C# Hashtable Synchronized vs SyncRoot 结合这篇看完,csharp的同步锁问题就差不多了线程,同步与锁————Lock你到底锁住了谁?把服务器查询最频繁的表用DataTable缓存在内存....DataTable都是内建索引功能,内存中查询速度极快,当然你得保证同步 Synchronized vs SyncRoot 我们知道,在.n转载 2010-11-20 14:36:00 · 2110 阅读 · 0 评论 -
C# 非托管 解释
在.net 编程环境中,系统的资源分为托管资源和非托管资源。 对于托管的资源的回收工作,是不需要人工干预回收的,而且你也无法干预他们的回收,所能够做的只是了解.net CLR如何做这些操作。也就是说对于您的应用程序创建的大多数对象,可以依靠 .NET Framework 的垃圾回收器隐式地执行所有必要的内存管理任务。对于非托管资源,您在应用程序中使用完这些非托管资源之后,必须显示的释放转载 2010-06-13 14:05:00 · 1649 阅读 · 0 评论 -
几乎集Girdview所有技术为一体的超级变形金刚
全部由后台cs代码实现GirdView的各种功能,实现了GridView的所有事件: 1.GridView动态创建控件,而且回发不会消失,绑定事件依然有效。2.分页,动态添加页脚页码控件,且绑定事件3.在最合适的地方动态注册添加js事件4.实现删除、编辑、插入、查找、更新"、取消、新建、选择等事件5.动态创建模板列,含编辑模板列6.自定义点击表头排序7.最合适的地方原创 2010-06-12 23:47:00 · 6180 阅读 · 12 评论 -
C#中利用CreateToolhelp32Snapshot遍历系统进程
private void button1_Click(object sender, EventArgs e) { IntPtr handle=CreateToolhelp32Snapshot(0x2, 0); if ((int)handle > 0) {原创 2010-05-25 05:25:00 · 3395 阅读 · 2 评论 -
使用LINQ检索重复值
http://blog.youkuaiyun.com/FantasiaX/archive/2008/08/02/2759025.aspx 日常工作的时候,我们经常遇到需要检索一组数据中是否有重复值的情况,再根据具体情况进行相应的操作。如果不使用LINQ,那我们就得使用一层一层 的foreach循环来做,不但麻烦、工作效率低(因为你得绕啊~~绕啊~~~),而且容易出bug。使用LINQ就方便得多。转载 2010-05-17 22:57:00 · 1237 阅读 · 0 评论 -
Winform下的地图开发控件(GMap.NET)使用心得
Winform下的地图开发控件(GMap.NET)使用心得我们先看看GMap.NET的定义:GMap.NET是一个强大、免费、跨平台、开源的.NET控件,它在Windows Forms 和WPF环境中能够通过Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac等实现寻找路径、地理编码以及地图展示功能,并支持缓存和运行在Mo转载 2010-05-07 21:56:00 · 2344 阅读 · 2 评论 -
C#获取Gif图片每一帧的时间
Image img=Image.FromFile("C://1.gif");//加载Gif图片FrameDimension dim = new FrameDimension(img.FrameDimensionsList[0] );for (int i = 0; i { img.SelectActiveFrame(dim, i);//激活当前帧 for (int j原创 2010-05-02 05:10:00 · 4542 阅读 · 1 评论 -
结合IComparer接口实现对ListBox排序
需求描述:有个listbox,里面的值是 110 10 70 40 260 但是设置sort=true的属性后,他的顺序就变为 10 110 260 40 70 如何做才能让它得到正确的顺序 10 40 70 110 260这个listbox里的数字都是string型 而且不想让它变为int型 请问要如何做才对?========================原创 2010-04-24 19:59:00 · 3016 阅读 · 0 评论 -
C#接收存储过程返回值
原文链接:http://hi.baidu.com/crp8/blog/item/56302a1264fd9a57f919b851.html 1.获取Return返回值 程序代码//存储过程//Create PROCEDURE MYSQL// @a int,// @b int//AS// return @a + @b//GO转载 2010-01-09 04:38:00 · 2528 阅读 · 1 评论 -
如何让AutoSize为true的label在picturebox上面居中显示
private void Form1_Load(object sender, EventArgs e) { PictureBox pic = new PictureBox(); Image img = Image.FromFile(@"C:\Users\SaeWind\Desktop\123\1.png");原创 2012-05-16 07:29:25 · 3736 阅读 · 0 评论 -
C# RGB转CMYK
调用:Color c=...;byte[] cmyk=RGBToCMY(c.R, c.G, c.B); byte[] RGBToCMY(byte red, byte green, byte blue)//RGB转CMY { byte cyan = (byte)255 - red; byte mage原创 2010-05-05 21:45:00 · 7466 阅读 · 5 评论 -
动态人脸识别的简要原理分析
前言:今天在电脑压箱底的位置竟然找到了当年大学毕业的毕业设计,当时做的是一个安全检测系统,其中有一个模块是人脸识别,从中摘出来三张图片和大家分享,时间已久,下面全是即兴书写,如有bug,敬请百度,谢谢~~~动态人脸识别顾名思义,就是运动中人脸的识别。我不用开源视觉库OPENCV,因为OPENCV中的人脸识别相当耗时,如果在某些嵌入式系统中,显然运行不流畅。其实还有其他的简单的方法可原创 2012-06-28 02:40:11 · 6279 阅读 · 3 评论 -
颜色条的简单实现
private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g1 = e.Graphics; int index = 0; int r = 0, g = 0, b = 0; for (g = 0; g原创 2012-05-16 07:48:52 · 2269 阅读 · 0 评论 -
毫秒数和本地时间互转
//本地时间转毫秒数 DateTime TheDate=..... DateTime d1 = new DateTime(1970, 1, 1); DateTime d2 = TheDate.ToUniversalTime(); TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks); int ms=(long)ts.TotalMillise原创 2012-05-16 07:19:04 · 2979 阅读 · 0 评论 -
System.Threading.Timer 在什么情况下会悄无声息的“终止”
1. System.Threading.Timer 在什么情况下会悄无声息的“终止”? msdn的答复: 只要在使用 Timer,就必须保留对它的引用。对于任何托管对象,如果没有对 Timer 的引用,计时器会被垃圾回收。即使 Timer 仍处在活动状态,也会被回收。 2.那么什么是“必须保留对它的引用”呢?网上许多帖子都没有合理的解释。我特地做了个测试。测试原创 2010-08-26 20:05:00 · 7328 阅读 · 1 评论 -
C#带有消息机制的线程 - CustomMessageQueue [翻译自wuyazhe的VB版本]
本文翻译自wuyazhe的VB版本,VB原文链接http://blog.youkuaiyun.com/wuyazhe/archive/2006/11/09/1375082.aspx 调用方法:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy翻译 2010-06-12 14:12:00 · 934 阅读 · 2 评论 -
Web Spider提取编码方法总结
Web Spider提取编码方法总结概要:1,通过分析Header提取编码2,通过分析BOM(Byte Order Mark)提取编码3,通过分析页面的meta提取编码4,通过字节流分析检测编码正文:总结一下。目前有四种方法1,通过分析Header提取编码。 这个也是比较简单。也是大家常用的,不过既然是总结。那还是帖一下代码吧。转载 2010-05-08 21:22:00 · 785 阅读 · 0 评论 -
C# 实现磁性窗口(附源码和程序)
实现并封装了磁性窗口类MagneticMagnager,实现磁性窗口仅仅需要调用一行代码:MagneticMagnager test2 = new MagneticMagnager(this, fm2, MagneticPosition.Top); 插图: 具体操作: 1.新建winform项目MagneticForm,并添加磁性窗口操作类MagneticMa原创 2010-05-01 21:56:00 · 8642 阅读 · 2 评论 -
C#带进度条和百分比的窗体实现过程
功能需求: 如果程序中会执行一个耗时的计算过程,我想在用户点击按钮后,弹出一个进度条窗口,显示正在执行的进度(最好能带有百分比),执行完成后,进度条窗口关闭,回到主程序窗口。 在关闭子窗口之前父窗体不能点击操作。 ======================================================先设计Form2进度条窗体,在Form2中央上原创 2010-04-29 00:15:00 · 19882 阅读 · 6 评论 -
Flex与.NET互操作(十六):FluorineFx + Flex视频聊天室案例开发
本文将使用FluorineFx和Flex结合介绍一个简单的视频聊天室案例开发,希望通过此篇和大家交流FluorineFx和Flex的相关技术,同时也希望本篇可以帮助到需要使用FluorineFx做及时应用开发的新手朋友。首先列举下本篇中所涉及到的开发环境和相关技术以及简单的需求定义: 1. Microsoft Visual Studio 2008(VS SP1)+.NET Frame转载 2010-04-27 19:49:00 · 852 阅读 · 0 评论 -
Control的Invoke和BeginInvoke
(一)Control的Invoke和BeginInvoke我们要基于以下认识:(1)Control的Invoke和BeginInvoke与Delegate的Invoke和BeginInvoke是不同的。(2)Control的Invoke和BeginInvoke的参数为delegate,委托的方法是在Control的线程上执行的,也就是我们平时所说的UI线程。我们以代转载 2010-04-27 19:10:00 · 545 阅读 · 0 评论 -
winform中利用Treeview模仿资源管理器实现图片文件列表
功能实现(模拟资源管理器左边的treeview功能): 1.初始化时候加载"我的电脑"里面的驱动器(包含移动介质),2.当选择驱动器时候,打开(折叠)文件(夹)列表.并确定是否包含子文件(夹)3.选择文件(夹)时候,打开(折叠)文件(夹)列表.并确定是否包含子文件(夹) 特点:只加载需要目录,并非一次性加载全部内容 =======================原创 2010-04-27 16:46:00 · 8686 阅读 · 3 评论 -
C# 网页截图
许多人都在想如何进行网页截图,其实简单的方法是利用WebBrowser进行截图,下面提供一个截图类GetSnap,可以在web和winform上进行截图。 类GetSnap:======================================using System;using System.Data;using System.Configuration;usi原创 2010-04-22 22:53:00 · 9555 阅读 · 13 评论 -
利用WebClient上传文件
譬如:现在的开发的web应用程序的虚拟目录是WebAA,另一个应用程序的虚拟目录是WebBB,现在要从WebAA向WebBB下的一个UpLoadFiles文件夹下保存图片,如何处理?如果要向这个路劲下传文件,可以完全不需要知道WebBB/UpLoadFiles的物理路径。可以用下面的简单方法实现:1.在WebBB项目下添加一个UploadHandler.ashx文件,代码如下:C# c原创 2010-04-22 15:49:00 · 9934 阅读 · 0 评论 -
类似于词法分析器
C# code private void button1_Click(object sender, EventArgs e) { Liststring> olist = new Liststring>(new string[] { ">=","","++","+=","-=","=="});//组合符号 Listch原创 2012-05-16 07:24:15 · 1983 阅读 · 0 评论 -
获取AutoSize属性为true的Label的Size
Winform窗体上定义一个Lable用来显示信息,信息是动态的,由于Lable初始化时宽度是固定的,所以把它的AutoSize属性设置为True,当宽度不够时自动加长。但是后面在设置Label的Location属性时我需要得到Label的Width,但得到的仍然是默认初始化时的宽度,比如我传进的字符数为50个,Label的宽度取的仍然是默认值100。。怎么才能取得Label的实际宽度呢?原创 2012-05-16 07:27:34 · 7808 阅读 · 1 评论 -
任意长度的小数字符串的四舍五入
看代码吧,主要是利用正则处理,这里是保留一位小数,从“16666666.6666”转换为“1666.7万”using System.Text.RegularExpressions;namespace ConsoleApplication1{ class Program { static void Main(string[] args)原创 2012-12-15 21:09:39 · 2996 阅读 · 0 评论