c#多线程(UI线程,控件显示更新) Invoke和BeginInvoke 区别
摘要:如果只是直接使用子线程访问UI控件,直接看内容三,如果想深入了解从内容一看起。一、Control.Invoke和BeginInvoke方法的区别先上总结:Control.Invoke 方法 (Delegate):在拥有此控件的基础窗口句柄的线程上执行指定的委托。但委托的内容在UI线程上执行。Control.BeginInvoke 方法 (Delegate):在创建控件的基础句柄所在线程上异步执行指定委托。但委托的内容在UI线程上执行。(一)Control的Invoke和BeginInvoke我们要基于以下认识:(1)Control的Invoke和BeginInvoke与Delegate的Inv
阅读全文
C# 展开和折叠代码的快捷键(总结)
摘要:C# 展开和折叠代码的快捷键VS2005代码编辑器的展开和折叠代码确实很方便和实用。以下是展开代码和折叠代码所用到的快捷键,很常用:Ctrl+M+O:折叠所有方法Ctrl+M+M:折叠或者展开当前方法Ctrl+M+L: 展开所有方法解决VS2010中工具箱的的不见的问题:按快捷键Ctrl+Alt+X全屏:Shift+Alt+Enter注释选定内容:Ctrl+E+C/Crtr+E+U代码格式化:ctrl+E+F===================================VS2008 使用小技巧——快捷键1. 怎样调整代码排版的格式?选择:编辑—>高级—>设置文档的格式或编辑
阅读全文
WPF总结
摘要:一、布局WPF的布局模型实际上是一个插槽(slot)模型,其中每个区域(父对象)分配给子对象一个插槽。子对象能够自由占据这个插槽中空间的任何部分,该功能是通过子对象的3个属性,即Margin、HorizontalAligment和VerticalAlignment来实现的,而且这三个属性是FrameworkElement类的属性,由于大多数控件都要继承于FrameworkElement类,所以大多数控件都具有这三个属性。具体来说,Margin允许子控件(子对象)在插槽内部获得一个围绕自身的缓冲空间,HorizontalAligment和VerticalAlignment决定子控件如何占用插槽中
阅读全文
C#语法问答式总结
摘要:传入某个属性的set方法的隐含参数的名称是什么?value,它的类型和属性所声名的类型相同。如何在C#中实现继承?在类名后加上一个冒号,再加上基类的名称。C#支持多重继承么?不支持。可以用接口来实现。被protected修饰的属性/方法在何处可以访问?在继承或间接继承与这个类的子类中可以访问。私有成员会被继承么?会,但是不能被访问。所以看上去他们似乎是不能被继承的,但实际上确实被继承了。请描述一下修饰符protected internal。被protected internal修饰的属性/方法只能在它的在同一个程序集(Assembly)中的子类被访问。C#提供一个默认的无参数构造函数,当我实现
阅读全文
图解C#的值类型,引用类型,栈,堆,ref,out
摘要:转自:http://www.cnblogs.com/lemontea/p/3159282.htmlC# 的类型系统可分为两种类型,一是值类型,一是引用类型,这个每个C#程序员都了解。还有托管堆,栈,ref,out等等概念也是每个C#程序员都会接触到的概念,也是C#程序员面试经常考到的知识,随便搜搜也有无数的文章讲解相关的概念,貌似没写一篇值类型,引用类型相关博客的不是好的C#程序员。我也凑个热闹,试图彻底讲明白相关的概念。程序执行的原理要彻底搞明白那一堆概念及其它们之间的关系似乎并不是一件容易的事,这是因为大部分C#程序员并不了解托管堆(简称“堆”)和线程栈(简称“栈”),或者知道它们,但了解
阅读全文
深入挖掘.NET序列化机制——实现更易用的序列化方案
摘要:转自:http://www.cnblogs.com/brucebi/p/3175146.html.NET框架为程序员提供了“序列化和反序列化”这一有力的工具,使用它,我们能很容易的将内存中的对象图转化为字节流,并在需要的时候再将其恢复。这一技术的典型应用场景包括[1] :应用程序运行状态的持久化;在应用程序之间通过剪切板传送对象;创建对象复本,以隔离用户操作造成的影响;在网络间传送对象。然而,.NET框架提供的默认序列化行为也存在着有诸多限制,尤其是在版本控制方面——比如一个使用SerializableAttribute标记,而未实现ISerializable的类型,在通过重构修改了某个字段的
阅读全文
WPF Treeview 学习 增加图标、checkbox和右键菜单(转载)
摘要:最近在学习wpf,习惯把自己学习的东西记下来。 刚开始接触的这个控件,有点不知道怎么用。网上看了下,好像大家都觉得不如winform里面的好使。反正,我以前是用mfc做界面的,对c#不熟。网上看了几个例子,自己动手做了一下,现在把大概步骤记录下来。我这里比较简单,没有用什么模式。网上有一篇《使用ViewModel模式来简化WPF的TreeView》大家可以看看。 一、一个简单的树 首先、定义一个树节点的类,用来保存树节点信息: TreeItem.cs文件: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq...
阅读全文
JAVA和.NET开发过程中的不同
摘要:转自:http://java.chinaitlab.com/dynamic/893275_2.html 用.NET平台下的C#语言开发了比较长一段时间,最近项目开始用JAVA来开发了,本文通过自己开发过程中的一些感受说下它们在具体开发过程的不同点,由于经验知识还有限,本篇文章只能从比较表面的以及自己常用的功能点来说明我所看到的不同点。 我是用VS2008和VS2010开发。NET程序,通过MyEclipse8.5开发JAVA程序,下面从IDE、语言、插件的不同点来做下简单的说明。 IDE的不同点: 给我的第一感觉就是MyEclipse在开发过程编写查看代码也非常便利,甚至有很多VS没有的...
阅读全文