如何在.Net Micro Framework 中新建窗体
正像 .Net Micro Framework SDK中介绍的那样,开发一个.Net Micro Framework应用程序就像开发一个WinForm程序一样,而开发WinForm程序的核心技术就是一个一个的Form窗体,但是在.Net Micro Framework程序中新建WinFrom程序并不像建立Windows PC Form 那样可以直接添加一个窗体,并且在上面拖拽控件。因此,下面讲解如何在.Net Micro Framework新建一个窗体,并执行基本操作。
1. 创建窗体:
新建Windows Form 窗体时除了直接点击添加一个From外,也可以新建一个类继承自Window类,而在.Net Micro Framework 这种没有UI的开发模式下,正是通过第二种方式实现的。只要新建一个类继承自Microsoft.SPOT.Presentation.Window即可。
2. 重绘窗体内容:
在Windows Form中为了让自己的窗体与众不同,重绘是会被经常用到的。可以重写其OnPaint(PaintEventArgs e) 方法,并通过e.Graphics得到Graphics进行窗体的重绘。而在.Net Micro Framework 中需要重写的则是OnRender(DrawingContext dc)方法。在方法中就可以使用dc直接划出各种图形了。(在用dc画圆的时候不知怎么一直是空心的,很奇怪的问题)
再有只有当窗体的大小不为0时并且处于显示状态,才会调用该方法,因此在窗体的初始函数中一般要加入如下代码。
Code
this.Height = SystemMetrics.ScreenHeight;
this.Width = SystemMetrics.ScreenWidth;
this.Visibility = Visibility.Visible;
其中SystemMetrics.ScreenHeight、SystemMetrics.ScreenWidth表示取单片机屏幕的宽高。
如果想强行再次掉用OnRender方法,就需要调用Invalidate()方法进行刷新。(这里好像只支持整体刷新,并不象WinForm中支持局部刷新)
3. 窗体的显示
.Net Micro Framework 中窗体的显示与Windows Form有着一定的区别,它并不像Windows Form要先new 出一个窗体出来,再调用Show或是ShowDialog方法进行显示,而在new的同时就会把窗体显示出来。
而窗体的关闭就十分简单了,只需要调用Close()方法即可。
既然,现在有了窗体下个专题将讲述如何在上面增加一些必要的控件,Text,Image,以及如何使用按钮进行控制。