上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 35 下一页
摘要: 源码下载地址:http://www.c-sharpcorner.com/UploadFile/neo_matrix/SimpleFTP01172007082222AM/SimpleFTP.aspx原文链接:http://www.cnblogs.com/webabcd/archive/2007/01/... 阅读全文
posted @ 2011-05-29 10:56 把爱延续 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 方法一://须添加对System.Web的引用using System.Web.Security;.../// <summary>/// SHA1加密字符串/// </summary>/// <param name="source">源字符串</param>/// <returns>加密后的字符串</returns>public string SHA1(string source){ return FormsAuthentication.HashPasswordForStoringInConfigFil 阅读全文
posted @ 2011-05-26 11:16 把爱延续 阅读(574) 评论(2) 推荐(1) 编辑
摘要: //实现接近屏幕窗体边源吸附 private void timer1_Tick(object sender, EventArgs e) { if (this.WindowState != System.Windows.Forms.FormWindowState.Minimized) { if (Cursor.Position.X > this.Left && Cursor.Position.X < this.Right && Cursor.Position.Y > this.Top && Cursor.Position.Y &l 阅读全文
posted @ 2011-05-26 09:49 把爱延续 阅读(784) 评论(2) 推荐(2) 编辑
摘要: WebBrowse 编辑模式 中几个讨厌的问题:1、当设置DocumentText属性值时会一直弹出一个“可恶的保存对话框”现我已知的较好的策略有:1)在设置两个DocumentText属性值之间使用webBrowser1.Document.OpenNew(true)方法,但这个方法会引发一些问题。详细内容见下。2)在设置DocumentText属性之前将编辑模式改为浏览模式,设置完后再将浏览模式改为编辑模式。2、监控Html内容的改变。监控 WebBrowser 控件内容的改变3、WebBrowse的Mouse事件。WebBrowse本身没有Mouse的相关事件,但是我们可以借助WebBro 阅读全文
posted @ 2011-05-24 17:29 把爱延续 阅读(2604) 评论(0) 推荐(0) 编辑
摘要: 深入探讨C#序列化和反序列化之前我们先要明白什么是序列化,它又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。.NET框架提供了两种串行化的方式:1、是使用BinaryFormatter进行串行化;2、使用SoapFormatter进行串行化;3、使用XmlSerializer进行串行化。第一种方式提供了一个简单的二进制数据流以及某些附加的类型信息,而第二种将数据流格式化为XML存储;第 阅读全文
posted @ 2011-05-20 11:29 把爱延续 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 前几天我转载了一篇随笔《浅述WinForm多线程编程与Control.Invoke的应用》,有博友反映说问题没有说到点上,我在这里为此做一个解释:随笔是别人写的,我想尊重原创的意愿、所以我也没有那篇随笔做任何更改。 还有,那篇随笔更加侧重的是知识点,而不是实例。步入正题.为了解决窗体卡死的问题,我常用的是如下的两种策略:1、就是前文提到的 多线程 + Invoke2、BackgroundWorker 组件策略1优点就是 较灵活、适用更广泛,几乎可以用于解决任意情况下窗体卡死;而其缺点:需要自己额外编写许多代码、相对于策略2较为不方便。相对而言、我还是较青睐于策略2,毕竟方便嘛,可以少写一些Co 阅读全文
posted @ 2011-05-16 14:40 把爱延续 阅读(781) 评论(0) 推荐(0) 编辑
摘要: 生成操作符Range()、Empty()和Repear()不是扩展方法,而是返回序列的正常静态方法。在LINQ to Objects中,这些方法可用于Enumerable 类。有时需要填充一个范围的数字,此时就应使用Range()方法。这个方法把第一个参数作为起始值,把第二个参数作为要填充的项数。private static void Range() { var values = Enumerable.Range(1, 20).Select(n => n * 3); foreach (var item in values) { Console.Write("{0} " 阅读全文
posted @ 2011-05-14 21:33 把爱延续 阅读(875) 评论(0) 推荐(0) 编辑
摘要: 合计操作符如Count()、Sum()、Min()、Max()、Average()和Aggregate(),不返回一个序列,而返回一个值。Count()扩展方法返回集合中的项数。下面的Count()方法应用于Racer 的Years 属性,过滤赛手,只返回获得冠军次数超过3 次的赛手:private static void QuantifiersCount() { var racers = from r in Formula1.GetChampions() where r.Years.Count() >= 3 //对集合中的子对象集合操作 orderby r.Years.Count() 阅读全文
posted @ 2011-05-14 21:28 把爱延续 阅读(2004) 评论(0) 推荐(0) 编辑
摘要: VS2008、C#3.0在WinForm开发中,我们通常不希望当窗体上点了某个按钮执行某个业务的时候,窗体就被卡死了,直到该业务执行完毕后才缓过来。一个最直接的方法便是使用多线程。多线程编程的方式在WinForm开发中必不可少。本文介绍在WinForm开发中如何使用多线程,以及在线程中如何通过Control.Invoke方法返回窗体主线程执行相关操作。-. WinForm多线程编程1. new Thread()新开一个线程,执行一个方法,没有参数传递:privatevoidDoWork(){Threadt=newThread(newThreadStart(this.DoSomething)); 阅读全文
posted @ 2011-05-13 14:53 把爱延续 阅读(837) 评论(2) 推荐(1) 编辑
摘要: 将方法签名与委托类型匹配时,协变和逆变为您提供了一定程度的灵活性。协变允许方法具有的派生返回类型比委托中定义的更多。逆变允许方法具有的派生参数类型比委托类型中的更少。一、协变本示例演示如何将委托与具有返回类型的方法一起使用,这些返回类型派生自委托签名中的返回类型。由SecondHandler返回的数据类型是Dogs类型,它是由委托中定义的Mammals类型派生的。class Mammals{}class Dogs : Mammals{}class Program{ // Define the delegate. public delegate Mammals HandlerMethod(); 阅读全文
posted @ 2011-05-13 14:49 把爱延续 阅读(460) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 35 下一页