如何正確實(shí)現(xiàn).Net Framework窗體的創(chuàng)建
.Net Framework開(kāi)發(fā)環(huán)境對(duì)于開(kāi)發(fā)者來(lái)說(shuō)是非常重要的。我們可以通過(guò)它輕松的進(jìn)行代碼的各種編寫(xiě)。在這里就為大家介紹一下.Net Framework窗體的創(chuàng)建方法,希望能對(duì)又需要的朋友帶來(lái)一些幫助。#t#
正像 .Net Micro Framework SDK中介紹的那樣,開(kāi)發(fā)一個(gè).Net Micro Framework應(yīng)用程序就像開(kāi)發(fā)一個(gè)WinForm程序一樣,而開(kāi)發(fā)WinForm程序的核心技術(shù)就是一個(gè)一個(gè)的Form窗體,但是在.Net Micro Framework程序中新建WinFrom程序并不像建立Windows PC Form 那樣可以直接添加一個(gè)窗體,并且在上面拖拽控件。因此,下面講解如何在.Net Micro Framework新建一個(gè)窗體,并執(zhí)行基本操作。
1. 創(chuàng)建.Net Framework窗體:
新建Windows Form 窗體時(shí)除了直接點(diǎn)擊添加一個(gè)From外,也可以新建一個(gè)類(lèi)繼承自Window類(lèi),而在.Net Micro Framework 這種沒(méi)有UI的開(kāi)發(fā)模式下,正是通過(guò)第二種方式實(shí)現(xiàn)的。只要新建一個(gè)類(lèi)繼承自Microsoft.SPOT.Presentation.Window即可。
2. 重繪.Net Framework窗體內(nèi)容:
在Windows Form中為了讓自己的窗體與眾不同,重繪是會(huì)被經(jīng)常用到的。可以重寫(xiě)其OnPaint(PaintEventArgs e) 方法,并通過(guò)e.Graphics得到Graphics進(jìn)行窗體的重繪。而在.Net Micro Framework 中需要重寫(xiě)的則是OnRender(DrawingContext dc)方法。在方法中就可以使用dc直接劃出各種圖形了。(在用dc畫(huà)圓的時(shí)候不知怎么一直是空心的,很奇怪的問(wèn)題)
再有只有當(dāng)窗體的大小不為0時(shí)并且處于顯示狀態(tài),才會(huì)調(diào)用該方法,因此在窗體的初始函數(shù)中一般要加入如下代碼。
Code
- this.Height = SystemMetrics.ScreenHeight;
- this.Width = SystemMetrics.ScreenWidth;
- this.Visibility = Visibility.Visible;
其中SystemMetrics.ScreenHeight、SystemMetrics.ScreenWidth表示取單片機(jī)屏幕的寬高。
如果想強(qiáng)行再次掉用OnRender方法,就需要調(diào)用Invalidate()方法進(jìn)行刷新。(這里好像只支持整體刷新,并不象WinForm中支持局部刷新)
3. .Net Framework窗體的顯示
.Net Micro Framework 中窗體的顯示與Windows Form有著一定的區(qū)別,它并不像Windows Form要先new 出一個(gè)窗體出來(lái),再調(diào)用Show或是ShowDialog方法進(jìn)行顯示,而在new的同時(shí)就會(huì)把窗體顯示出來(lái)。
而窗體的關(guān)閉就十分簡(jiǎn)單了,只需要調(diào)用Close()方法即可。
既然,現(xiàn)在有了.Net Framework窗體下個(gè)專(zhuān)題將講述如何在上面增加一些必要的控件,Text,Image,以及如何使用按鈕進(jìn)行控制。