C#/WPF 程序设计心得(二)

15 篇文章 0 订阅
6 篇文章 0 订阅
 

1、借助C#对UDP的封装,可以简单的实现新闻广告信息的发布和推送,通过使用UDP组播技术,服务器使用D类IP(程序上的),客户端加入组播组,同时结合路由器(支持IGMP internet 网关管理协议)可完成一对多的组播任务。

2、GDI、GDI+ 是硬件驱动程序和用户软件的桥梁,是win 32的一部分,也就是说是c函数接口,用户无法直接操作硬件,只能是内存级的操作,多用于普通应用软件界面设计。DirectX是硬件和用户软件的接口,是GDI的升级版,多用于多媒体、游戏内软件,应用程序可以直接操作显存。wpf通过milcore使用DirectX.

3、尽可能的使用绑定技术,使wpf 的数据驱动界面能很好的发挥。

4、自定义按钮控件可以通过继承Control自定义控件然后使用任意形状的图片,还可以针对特定的控件(如button)使用样式。

5、面板实现拖动效果的时候,嵌套stackpanel时,父stackpanel的background="Transparent"否则拖动不流畅。

6、按钮border和background使用样式的时候是一样的---都用刷子。

7、可以在代码里使用Findresource()和as使用xaml里的资源。如style、brush。

8、同步与异步是相较于应用程序与操作系统内核的交互而言的,同步是指用户进程触发io操作并等待或轮训的去查看io操作是否就绪,而异步是指用户进程触发io操作以后开始做自己的事情,当io操作已经完成的时候会得到io完成的通知。

9、阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式,说白了是一种读取或者写入操作函数的实现方式,阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或者写入函数会立即返回一个状态值.

10、 网络编程中可以使用同步阻塞、异步阻塞、同步非阻塞、异步非阻塞。凡此种种,如果是基于winsocket编程的话,还是考虑选择五种IO模型,上面提到的阻塞或非阻塞只是一种IO机制,IO模型为io 数据、应用程序、系统内核提供了合理的解决方案。select模型,维护socket表集,轮训完成io操作的socket对象。WSAAsyncSelect 异步选择,基于windows窗体的消息机制,通知应用程序完成io操作的socket对象,即窗体的过程的函数回调。WSAEventSelect 事件选择,其最大于上的区别就是不是投递到窗体对象而是事件对象(creat event  waitformultipleEvent)。重叠端口模型,数据端口(重叠结构绑定io请求的返回)上重复投递io操作,分事件通知和完成列程,事件通知于重叠结构绑定一时间对象(句柄),waifor之。完成列程,也即使用回调函数了。完成端口模型,不再赘述,实在被微软"服务到家了"。

11、C# 2.0中就提出了使用匿名方法,常规的事件处理函数注册时使事件处理函数单独一体,不能使用和访问注册事件中的成员。通过匿名方法,可以在注册事件方法的时候将事件处理函数"内联"到当前,如此便可使用注册事件中的成员了。

12、enum类型声明为一组相关的符号常量定义了一个类型名字,枚举类型变量的取值被限定。

13、ref必须在进入方法得到赋值,out必须在离开方法之前得到赋值。

14、带parama的数组参数调用时可以隐式转换。

15、new操作符对类对象和结构对象的处理有不同。
a.要想创建出某个类的一个实例,就必须使用一个new操作符,new操作符将进行几项非常重要的处理:
从堆里为新对象分配内存;
有选择地调用那个类的某一个构造器。
b.创建出某个结构的一个实例,也使用一个new操作符,new操作符将调用结构的惟一的无参数构造器(不能重写),无参数构造器只是把所有的字段初始化0或null而已,其他什么都不做.

 16、readonly只能在初始化--声明初始化或构造器初始化--的过程中赋值,其他地方不能进行对只读域的赋值操作,否则编译器会报错。const修饰的常量必须在声明的同时赋值,而且要求编译器能够在编译时期计算出这个确定的值。const修饰的常量是在编译时便被计算出确定的值,并代换到引用该常量的每一个地方,而readonly时在运行时才确定的量。

17、as 运算符只执行引用转换和装箱转换。当转换失败时,as 运算符将产生空,而不是引发异常。is 运算符用于检查对象的运行时类型是否与给定类型兼容.

18、类的静态构造函数在程序域中只能调用一次,在创建类对象的时候或者应用类的任何静态成员都会发生静态构造函数的调用。

19、记住C#几个最基本的转换:byte数组到string: ASCIIEncoding encoding = new ASCIIEncoding(); encoding.GetString(byte[]array); Unicode同理;字符串到数值:int.parse(string), float.parse(string); 数值到字符串:object.ToString(); 字符串到字符数组:char[] arry = str.ToCharArray(); 字符数组到字符串:String str = new String(char[] array); 字符串到字节数组: 利用System.Text.Encoding   的 byte[] GetBytes(String str); 字节数组到字符串: String GetString(byte[]array);数值到字节数组:利用System.BitConverter 类的 Byte[] GetBytes(...);字节数组到数值:Toint32 ToSignle ToBoolean

20、记住并熟练使用C#的几个集合类:Array(定长、指定类型、整数下标访问);ArrayList(obj.Add; obj.AddRange; obj.Remove; obj.RemoveAt); Stack(obj.Push,obj.Pop(),obj.Peek;  Queue(obj.Enqueue,obj.Dequeue, obj.Peek); Hashtable(obj.add(key,value),key.GetHashCode);SortedList(key数组时排序好的)

wpf编程宝典c#2010版pdf(全)上传限制分3包,共118M。本人已检查,全三十三章。918页。 作 者:(美)麦克唐纳,王德才 译 出版社: 清华大学出版 英文名:Pro WPF IN C#2010 Windows Pressentation Foundation in .NET4 本书在亚马逊网站上深受读者好评.由微软公司的最有价值专家Matthew MacDonald倾力而作,凝聚了Matthew多年来积累的丰富实践经验,是目前最全面 的一本介绍WPF编程技术的书籍。书中不仅全面介绍了常见的图形界面编程技术,而且对WPF中非常有特色的文档和打印、音频和视频、动画、3D图形开发、多线程和插件等内容也进行了比较深入的介绍。 第1章 WPF概述   1.1 Windows图形演化   1.1.1 DirectX:新的图形引擎   1.1.2 硬件加速与WPF   1.2 WPF:高级API   1.2.1 Windows窗体将继续保留   1.2.2 DirectX也将继续保留   1.2.3 Silverlight   1.3 分辨率无关性   1.3.1 WPF单位   1.3.2 系统DPI   1.3.3 位图和矢量图形   1.4 WPF体系结构   1.5 WPF4   1.5.1 新特性   1.5.2 WPF工具包   1.5.3 VisualStudio2010   1.6 小结   第2章 XAML   2.1 理解XAML   2.1.1 WPF之前的图形用户界面   2.1.2 XAML变体   2.1.3 XAML编译   2.2 XAML基础   2.2.1 XAML名称空间   2.2.2 代码隐藏类   2.3 XAML中的属性和事件   2.3.1 简单属性与类型转换器   2.3.2 复杂属性   2.3.3 标记扩展   2.3.4 附加属性   2.3.5 嵌套元素   2.3.6 特殊字符与空白   2.3.7 事件   2.3.8 完整的EightBall示例   2.4 使用其他名称空间中的类型   2.5 加载和编译XAML   2.5.1 只使用代码   2.5.2 使用代码和未经编译的XAML   2.5.3 使用代码和编译过的XAML   2.5.4 只使用XAML   2.6 XAML2009   2.6.1 自动事件连接   2.6.2 引用   2.6.3 内置类型   2.6.4 高级的对象创建   2.7 小结   第3章 布局   3.1 理解WPF中的布局   3.1.1 WPF布局原则   3.1.2 布局过程   3.1.3 布局容器   3.2 使用StaCkPanel面板进行简单布局   3.2.1 布局属性   3.2.2 对齐方式   3.2.3 边距   3.2.4 最小尺寸、最大尺寸以及显式地设置尺寸   3.2.5 Border控件   3.3 wrapPanel面板和DockPanel面板   3.3.1 wrapPanel面板   3.3.2 DockPanel面板   ……   第4章 依赖项属性   第5章 路由事件   第6章 控件   第7章 application类   第8章 元素绑定   第9章 命令   第10章 资源   第11章 样式和行为   第12章 形状、画刷和变换   第13章 几何图形和图画   第14章 效果和可视比对象   第15章 动画基础   第16章 高级动画   第17章 控件模板   第18章 自定义元素   第19章 数据绑定   第20章 格式化绑定的数据   第21章 数据视图   第22章 列表、网格和树   第23章 窗口   第24章 页面和导航   第25章 菜单、工具栏和功能区   第26章 声音和视频   第27章 3d绘图   第28章 文档   第29章 打印   第30章 与windows窗体的交互   第31章 多线程   第32章 插件模型   第33章 clickonce部署
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值