如何解析.Net Micro Framework中的Shapes命名空間,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
郯城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書(shū)合作)期待與您的合作!
在Microsoft.SPOT.Presentation.Shapes命名空間下,包含幾個(gè)形狀對(duì)象,主要有Ellipse、Line、Polygon、Rectangle,同樣也只有Rectangle實(shí)現(xiàn)的***,其他形狀都不支持填充色,雖然每個(gè)對(duì)象都有Fill屬性。
讓人奇怪的是,每個(gè)形狀對(duì)象都不能設(shè)置left和top坐標(biāo),僅能設(shè)置寬度和高度,用起來(lái)很不習(xí)慣。
StackPanel類(lèi)是Panel的派生類(lèi),從字面意思上看,就是可以堆疊的面板。意如其名,它可以包含多個(gè)子對(duì)象,不過(guò)每一對(duì)象都不能重疊,以特有的方式堆疊在一起。
有如下幾個(gè)屬性方法控制堆疊方式:
1、Orientation屬性,有兩種方式:Orientation.Horizontal,Orientation.Vertical。設(shè)置該屬性后,StackPanel的子對(duì)象的坐標(biāo)系就會(huì)發(fā)生變化(很可惜字體的方向并沒(méi)有從根本上改變)。
2、HorizontalAlignment、VerticalAlignment屬性,設(shè)置子對(duì)象的堆疊方式。枚舉定義如下。
public enum HorizontalAlignment { Left = 0, Center = 1, Right = 2, Stretch = 3, } public enum VerticalAlignment { Top = 0, Center = 1, Bottom = 2, Stretch = 3, }
3、SetMargin方法,設(shè)置邊界空白大小。
完整的代碼如下,
using System; using Microsoft.SPOT; using Microsoft.SPOT.Input; using Microsoft.SPOT.Presentation; using Microsoft.SPOT.Presentation.Controls; using Microsoft.SPOT.Presentation.Media; using Microsoft.SPOT.Presentation.Shapes; namespace MFWindow { public class Program : Microsoft.SPOT.Application { public static void Main() { //創(chuàng)建窗體 WindowsDrawing win = new WindowsDrawing(); //程序運(yùn)行 new Program().Run(win); } internal sealed class WindowsDrawing : Window { public WindowsDrawing() { this.Width = SystemMetrics.ScreenWidth; this.Height = SystemMetrics.ScreenHeight; //可設(shè)置顯示方向(水平,垂直) //StackPanel panel = new StackPanel(Orientation.Vertical); StackPanel panel = new StackPanel(Orientation.Horizontal); //設(shè)置邊界空白 panel.SetMargin(10); //設(shè)置對(duì)象堆疊的方式 panel.HorizontalAlignment = HorizontalAlignment.Center; panel.VerticalAlignment = VerticalAlignment.Center; this.Child = panel; //添加文本 Text txt = new Text(Resources.GetFont(Resources.FontResources.small), "yefan"); //不能設(shè)置left,top坐標(biāo) txt.Width = 100; txt.Height = 30; panel.Children.Add(txt); //添加不同的形狀對(duì)象 Shape[] shapes = new Shape[] { new Ellipse(), new Line(), new Polygon(new Int32[] { 0, 0, 10, 0, 10, 10, 0, 10 }), new Rectangle() }; //設(shè)置形狀對(duì)象必要的參數(shù)(各對(duì)象不能重疊,只能堆疊在一起) foreach (Shape s in shapes) { s.Fill = new SolidColorBrush(ColorUtility.ColorFromRGB(0, 255, 0)); s.Stroke = new Pen(Color.Black, 2); //不能設(shè)置left,top坐標(biāo) s.Height = 40; s.Width = 40; panel.Children.Add(s); } } } } }
僅修改這句代碼 StackPanel panel = new StackPanel(Orientation.Horizontal);中的參數(shù)就可以實(shí)現(xiàn)兩種不同的效果,如下面兩圖所示:
總的來(lái)說(shuō),我覺(jué)得MF提供的圖像對(duì)象還很不完善,不僅一些基本功能沒(méi)有完成(如填充、線寬),并且無(wú)法設(shè)置形狀對(duì)象的絕對(duì)坐標(biāo)(left,top),同時(shí)總類(lèi)也特別少,希望以后的版本中能有很大的提升。
看完上述內(nèi)容,你們掌握如何解析.Net Micro Framework中的Shapes命名空間的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
新聞名稱(chēng):如何解析.NetMicroFramework中的Shapes命名空間
轉(zhuǎn)載來(lái)源:http://jinyejixie.com/article2/ghohoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站維護(hù)、小程序開(kāi)發(fā)、建站公司、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)