2011年3月8日

简单的异步编程入门例子

摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace 异步编程例子{ class Program { public delegate int CaculateDelegate(int min, int max); static void Main(string[] args) { CaculateDelegate d=Caculate; Console.WriteLine("请输入:"); int m 阅读全文

posted @ 2011-03-08 17:52 大龄书童 阅读(663) 评论(0) 推荐(0) 编辑

2011年3月3日

序列化反序列化的简单例子

摘要: 基本序列化要使一个类可序列化,最简单的方法是使用 Serializable 属性对它进行标记,如下所示:[Serializable]public class MyObject { public int n1 = 0; public int n2 = 0; public String str = null;}以下代码片段说明了如何将此类的一个实例序列化为一个文件:MyObjectobj = new MyObject();obj.n1 = 1;obj.n2 = 24;obj.str = "一些字符串";IFormatter formatter = new BinaryForma 阅读全文

posted @ 2011-03-03 15:07 大龄书童 阅读(447) 评论(2) 推荐(0) 编辑

获取程序的当前启动路径

摘要: string myFile=Path.Combine(Path.GetDirectoryName(Application.ExecutablePath),"DockPanel.config");StreamWriter sw = new StreamWriter(myFile);这样就能在程序运行的当前路径创建了DockPanel.config文件。 阅读全文

posted @ 2011-03-03 14:24 大龄书童 阅读(317) 评论(1) 推荐(1) 编辑

ClickOnce的更新策略

摘要: 最近公司用ClickOnce技术发布的一个产品,在客户那边出现了些奇怪的现象。客户那边的具体的情况是这样的:例如是1.0.0.6版本号的程序在服务器A上发布,同一版本号1.0.0.6也同时发布在服务器B上。问题来了,假如客户机器是干净的,也即是这台机器是从来没有运行过这个程序的,如果客户先登录服务器A,那么客户机就会下载1.0.0.6版本的程序回来在本机运行,这是正确的。此时客户把程序关了,然后去到服务器B上运行,那么客户机还会不会再从服务器B上下载1.0.0.6这个版本呢?那么ClickOnce技术的具体更新策略是怎样的呢?我找啊找啊,发现ClickOnce技术这个东西只有在msdn有些更新 阅读全文

posted @ 2011-03-03 12:06 大龄书童 阅读(569) 评论(0) 推荐(0) 编辑

2011年2月23日

SuspendLayout,ResumeLayout,Layout,PerformLayout

摘要: 1.什么时候会触发Control.Layout事件?当控件本身的大小(Size)改变时会发生本控件的Layout事件,或者当其子控件的位置(Position)和大小(Size)改变也会触发它的Layout事件。添加或删除子控件也会引起它的Layout事件。2.suspendlayout作何用? 在添加或移除子控件,控件的边界改变,以及在发生其他可影响控件布局的变化时,会发生Layout事件。可以使用SuspendLayout挂起布局,可以在控件上执行多个操作,而无需为每次更改执行一次布局操作。也就是说,有了这个语句之后,紧接着下面的添加,删除子控件,或者改变子控件的大小,位置,以及改变它自身的 阅读全文

posted @ 2011-02-23 13:17 大龄书童 阅读(522) 评论(0) 推荐(0) 编辑

导航