摘要: 1、Navigation & Layout 1.1 Bar Manager 如果想在窗体或用户控件(user control)上添加工具条(bars)或弹出菜单(popup menus),我们需要把一个不可见的控件(component)BarManager(Navigation&Layout)拖放到 阅读全文
posted @ 2014-01-27 10:11 青竹软件 阅读(7858) 评论(0) 推荐(0) 编辑
摘要: C#中的事件,即event,其采用的是事件驱动方式来使用,以前处理事件类似的事情往往采用等待机制,为了等待某事件的发生,需要不断地检测某些变量,而事件驱动程序等待事件时,不占用资源。事件从一方面来讲就是改变,就如button按钮一样,点击产生click事件,其click事件发生改变,就会通过委托调用相应的处理方法。 委托,从某种程度上来说,委托好比一个通道,一个事件的发生,可以通过委托传递给不同的接受者,只要接受者订阅了此事件,就用权利在事件被触发时产生不同的处理方式。委托好比第三方,是独立于对象之外的东西。例:两个窗体实现文本框的互相传值:Form1:namespace WindowsFo. 阅读全文
posted @ 2013-10-30 13:32 青竹软件 阅读(218) 评论(0) 推荐(0) 编辑
摘要: volatile是C#中最简单的一种同步关键字,其意义是针对程序中一些敏感数据,不允许多线程同时访问,保证数据在任何访问时刻,最多有一个线程访问,以保证数据的完整性,虽与java中的synchronized关键字有些类似相似,但是二者存在着很大的不同,最明显的地方就是volatile是修饰变量的修饰符,而synchronized是修饰一段代码或方法。volatile使变量保证了在内存中的共享,也就是其修饰的字段没有放在工作内存(寄存器),而是被直接放在主存操作,当一个线程修改了其修饰的变量,另一个线程可以直接读到修改后的值。lock确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如. 阅读全文
posted @ 2013-10-24 18:02 青竹软件 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 1.struct是值类型,class是对象类型2.struct不能被继承,class可以被继承3.struct默认的访问权限是public,而class默认的访问权限是private.4..struct的new和class的new是不同的。struct的new就是执行一下构造函数创建一个新实例再对所有的字段进行Copy。而class则是在堆上分配一块内存然后再执行构造函数,struct的内存并不是在new的时候分配的,而是在定义的时候分配,换句话话说struct是在线程栈中创建,其定义时就已经被初始化,而class必须用new在托管堆中开辟空间。因此struct与class在作为参数传值过程中 阅读全文
posted @ 2013-10-24 16:30 青竹软件 阅读(162) 评论(0) 推荐(0) 编辑