熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

Net Micro Framework中的Shapes命名空間

2013-11-13 10:32:31  來源: .NET編程 

  試驗平台Net Micro Framework 模擬器

  在MicrosoftSPOTPresentationShapes命名空間下包含幾個形狀對象主要有EllipseLinePolygonRectangle同樣也只有Rectangle實現的最好其他形狀都不支持填充色雖然每個對象都有Fill屬性

  讓人奇怪的是每個形狀對象都不能設置left和top坐標僅能設置寬度和高度用起來很不習慣

  StackPanel類是Panel的派生類從字面意思上看就是可以堆疊的面板意如其名它可以包含多個子對象不過每一對象都不能重疊以特有的方式堆疊在一起

  有如下幾個屬性方法控制堆疊方式

                Orientation屬性有兩種方式OrientationHorizontalOrientationVertical設置該屬性後StackPanel的子對象的坐標系就會發生變化(很可惜字體的方向並沒有從根本上改變)

                HorizontalAlignmentVerticalAlignment屬性設置子對象的堆疊方式枚舉定義如下

  public enum HorizontalAlignment

  {

  Left =

  Center =

  Right =

  Stretch =

  }

  public enum VerticalAlignment

  {

  Top =

  Center =

  Bottom =

  Stretch =

  }

                 SetMargin方法設置邊界空白大小

  完整的代碼如下

  using System;

  using MicrosoftSPOT;

  using MicrosoftSPOTInput;

  using MicrosoftSPOTPresentation;

  using MicrosoftSPOTPresentationControls;

  using MicrosoftSPOTPresentationMedia;

  using MicrosoftSPOTPresentationShapes;

  namespace MFWindow

  {

  public class Program : MicrosoftSPOTApplication

  {

  public static void Main()

  {  

  //創建窗體

  WindowsDrawing win = new WindowsDrawing();         

  //程序運行

  new Program()Run(win);

  }

  internal sealed class WindowsDrawing : Window

  {

  public  WindowsDrawing()

  {

  thisWidth = SystemMetricsScreenWidth;

  thisHeight = SystemMetricsScreenHeight;

  //可設置顯示方向(水平垂直)

  //StackPanel panel = new StackPanel(OrientationVertical);

  StackPanel panel = new StackPanel(OrientationHorizontal);

  //設置邊界空白

  panelSetMargin();

  //設置對象堆疊的方式

  panelHorizontalAlignment = HorizontalAlignmentCenter;

  panelVerticalAlignment = VerticalAlignmentCenter;

  thisChild = panel;

  //添加文本

  Text txt = new Text(ResourcesGetFont(ResourcesFontResourcessmall) yefan);

  //不能設置lefttop坐標

  txtWidth = ;

  txtHeight = ;

  panelChildrenAdd(txt);

  //添加不同的形狀對象

  Shape[] shapes = new Shape[]

  {

  new Ellipse()

  new Line()

  new Polygon(new Int[] {             })

  new Rectangle()

  };

  //設置形狀對象必要的參數(各對象不能重疊只能堆疊在一起)

  foreach (Shape s in shapes)

  {

  sFill = new SolidColorBrush(ColorUtilityColorFromRGB( ));

  sStroke = new Pen(ColorBlack );

  //不能設置lefttop坐標

  sHeight = ;

  sWidth = ;

  panelChildrenAdd(s);

  }             

  }

  }

  }

  }

  僅修改這句代碼 StackPanel panel = new StackPanel(OrientationHorizontal);中的參數就可以實現兩種不同的效果如下面兩圖所示 

  .NET編程免費提供,內容來源於互聯網,本文歸原作者所有。

推薦文章
Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.