.Net Mirco Framework 2007技术大会

2006年在《程序员》杂志上通过看马宁的专栏文章,第一次知道了.Net MF。一年后的今天终于近距离地接触了.Net Mirco Frmaework,对MF有了一定的感性认识。

最近公司很多项目都有大量嵌入式设备使用,由于WinCE系统相对较大,对硬件平台要求过高,所以对.Net MF一直比较关注。今天总算大开眼界了。

.Net Mirco Framework 2007技术大会

微软公司的Colin MillerDigi公司的John Leier在上午的演讲拉开了.Net MF序幕,针对嵌入式领域,一个从软件角度进行阐述,另一个从硬件平台角度进行呼应,一软一硬,二者强强联合,恐怕未来嵌入式智能设备一半以上的项目开发要被其收入囊中了。下午的中文演讲给人感觉有些干瘪,两三个演讲,平均短短十几分钟就草草收场。后来微软公司杜伟的演讲,从VS2005一行行难以看清的代码,到一个个令人惊艳的样例把MF开发技术推向最前台。

.Net Mirco Framework 2007技术大会

Digi公司很是有魄力,免费送出15套开发套件(5个作为回答问题的奖品,10个抽奖),自己即没有回答问题的勇气,也没有好的运气,只好剩下羡慕的份了。

最后为每个人送出的1G优盘(类似微软今年MVP大礼包中的优盘)很有分量,不仅是1G的容量,并且里面竟然把所有的幻灯片拷贝其中,更没有想到的是,MF SDK也在里面,真棒!

回到家迫不及待装了一份MF SDKMicroFrameworkSDK.MSI 区区只有5998 kb,强!),有模拟器,也有示例。

.Net Mirco Framework 2007技术大会

其中几个示例不知道为什么编译成功,就是运行失败,对第二示例比较感兴趣,可以绘制图形,并且可以贴图。

.Net Mirco Framework 2007技术大会

.Net Mirco Framework 2007技术大会

.Net Mirco Framework 2007技术大会

相关代码如下:

.Net Mirco Framework 2007技术大会//Copyright(C)MicrosoftCorporation.Allrightsreserved.
.Net Mirco Framework 2007技术大会

.Net Mirco Framework 2007技术大会
usingSystem;
.Net Mirco Framework 2007技术大会
usingSystem.Collections;
.Net Mirco Framework 2007技术大会
usingSystem.Threading;
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
usingMicrosoft.SPOT;
.Net Mirco Framework 2007技术大会
usingMicrosoft.SPOT.Input;
.Net Mirco Framework 2007技术大会
usingMicrosoft.SPOT.Hardware;
.Net Mirco Framework 2007技术大会
usingMicrosoft.SPOT.Presentation;
.Net Mirco Framework 2007技术大会
usingMicrosoft.SPOT.Presentation.Media;
.Net Mirco Framework 2007技术大会
usingMicrosoft.SPOT.Presentation.Controls;
.Net Mirco Framework 2007技术大会
usingMicrosoft.SPOT.Presentation.Shapes;
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
usingPresentationDemo;
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
/**///////////////////////////////////////////////////////////////////////////////
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
publicsealedclassMyApp:Application...{
.Net Mirco Framework 2007技术大会
//ThisstaticfieldpreventstheobjectfrombeingGC'd
.Net Mirco Framework 2007技术大会
privatestaticGpioButtonInputProviders_gpioInputProvider;
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
publicFontNinaBFont;
.Net Mirco Framework 2007技术大会
publicFontSmallFont;
.Net Mirco Framework 2007技术大会
publicBitmapSnowflake;
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
privateMyApp()...{
.Net Mirco Framework 2007技术大会
//InitializetheButtons/Pinsdispatcher
.Net Mirco Framework 2007技术大会
s_gpioInputProvider=newGpioButtonInputProvider(this.Dispatcher,null);
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//Loadsomeresources
.Net Mirco Framework 2007技术大会
NinaBFont=Resources.GetFont(Resources.FontResources.NinaBFont);
.Net Mirco Framework 2007技术大会SmallFont
=Resources.GetFont(Resources.FontResources.SmallFont);
.Net Mirco Framework 2007技术大会Snowflake
=Resources.GetBitmap(Resources.BitmapResources.Snowflake);
.Net Mirco Framework 2007技术大会}

.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
protectedoverridevoidOnStartup(EventArgse)...{
.Net Mirco Framework 2007技术大会
//Createandsettheapplication'smainwindow
.Net Mirco Framework 2007技术大会
this.MainWindow=newMainMenuWindow(this);
.Net Mirco Framework 2007技术大会
base.OnStartup(e);
.Net Mirco Framework 2007技术大会}

.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
publicvoidGoHome()...{
.Net Mirco Framework 2007技术大会Buttons.Focus(
this.MainWindow);//Setfocusbacktothemainwindow
.Net Mirco Framework 2007技术大会
}

.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
publicstaticvoidMain()...{
.Net Mirco Framework 2007技术大会
newMyApp().Run();//Starttheapp'smainwindow
.Net Mirco Framework 2007技术大会
}

.Net Mirco Framework 2007技术大会}

.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
/**///////////////////////////////////////////////////////////////////////////////
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//Thisisthebaseclassofallourwindows;itmakeseverywindowvisible,
.Net Mirco Framework 2007技术大会
//setsthewindow'ssizetothefullsizeoftheLCD,andgivethewindowfocus
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
internalclassPresentationWindow:Window...{
.Net Mirco Framework 2007技术大会
protectedMyAppm_app;
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
protectedPresentationWindow(MyAppapp)...{
.Net Mirco Framework 2007技术大会m_app
=app;
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//MakethewindowvisibleandthesizeoftheLCD
.Net Mirco Framework 2007技术大会
this.Visibility=Visibility.Visible;
.Net Mirco Framework 2007技术大会
this.Width=SystemMetrics.ScreenWidth;
.Net Mirco Framework 2007技术大会
this.Height=SystemMetrics.ScreenHeight;
.Net Mirco Framework 2007技术大会Buttons.Focus(
this);//Setfocustothiswindow
.Net Mirco Framework 2007技术大会
}

.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
protectedoverridevoidOnButtonDown(ButtonEventArgse)...{
.Net Mirco Framework 2007技术大会
//RemovethiswindowformtheWindowManager
.Net Mirco Framework 2007技术大会
this.Close();
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//Whenanybuttonispressed,gobacktotheHomepage
.Net Mirco Framework 2007技术大会
m_app.GoHome();
.Net Mirco Framework 2007技术大会}

.Net Mirco Framework 2007技术大会}

.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
/**///////////////////////////////////////////////////////////////////////////////
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
internalsealedclassMainMenuWindow:PresentationWindow...{
.Net Mirco Framework 2007技术大会
privateListBoxm_listbox;
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
publicListBoxMainListBox...{get...{returnm_listbox;}}
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
publicMainMenuWindow(MyAppapp)
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会:
base(app)...{
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会ColorinstructionTextColor
=ColorUtility.ColorFromRGB(192,192,192);
.Net Mirco Framework 2007技术大会ColorbackgroundColor
=ColorUtility.ColorFromRGB(26,118,183);
.Net Mirco Framework 2007技术大会ColorunselectedItemColor
=ColorUtility.ColorFromRGB(192,192,255);//Unselectedlistboxitemcolor
.Net Mirco Framework 2007技术大会
ColorselectedItemColor=Colors.White;//Selectedlistboxitemcolor
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//TheMainwindowcontainsaveritcalStackPanel
.Net Mirco Framework 2007技术大会
StackPanelpanel=newStackPanel(Orientation.Vertical);
.Net Mirco Framework 2007技术大会
this.Child=panel;
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//Thetopchildcontainstextwithinstructions
.Net Mirco Framework 2007技术大会
TextFlowtextflow=newTextFlow();
.Net Mirco Framework 2007技术大会textflow.TextAlignment
=TextAlignment.Center;
.Net Mirco Framework 2007技术大会textflow.Visibility
=Visibility.Visible;
.Net Mirco Framework 2007技术大会textflow.TextRuns.Add(
.Net Mirco Framework 2007技术大会
newTextRun(Resources.GetString(Resources.StringResources.SelectAnItemFromBelow),
.Net Mirco Framework 2007技术大会app.NinaBFont,instructionTextColor));
.Net Mirco Framework 2007技术大会panel.Children.Add(textflow);
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//Addablanklinetothestack
.Net Mirco Framework 2007技术大会
panel.Children.Add(textflow=newTextFlow());
.Net Mirco Framework 2007技术大会textflow.TextRuns.Add(
"",app.NinaBFont,instructionTextColor);
.Net Mirco Framework 2007技术大会textflow.Visibility
=Visibility.Visible;
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//Thenextchildcontainsalistboxwithoptions
.Net Mirco Framework 2007技术大会
m_listbox=newListBox();
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//Preparethelistbox
.Net Mirco Framework 2007技术大会
Buttons.Focus(m_listbox);
.Net Mirco Framework 2007技术大会panel.Children.Add(m_listbox);
.Net Mirco Framework 2007技术大会
this.Background=m_listbox.Background=newSolidColorBrush(backgroundColor);
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会m_listbox.SelectionChanged
+=delegate(Objectsender,SelectionChangedEventArgse)...{
.Net Mirco Framework 2007技术大会Int32previousSelectedIndex
=e.PreviousSelectedIndex;
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
if(previousSelectedIndex!=-1)...{//Iftherewasapreviousindex
.Net Mirco Framework 2007技术大会
//Changepreviously-selectedlistboxitemcolortounselectedcolor
.Net Mirco Framework 2007技术大会
((Text)m_listbox.Items[previousSelectedIndex].Child).ForeColor=unselectedItemColor;
.Net Mirco Framework 2007技术大会}

.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//Changenewly-selectedlistboxitemcolortoselectedcolor
.Net Mirco Framework 2007技术大会
((Text)m_listbox.Items[e.SelectedIndex].Child).ForeColor=selectedItemColor;
.Net Mirco Framework 2007技术大会}
;
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//Addtheitemstothelistbox
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
foreach(StringsinnewString[]...{"VerticalStack","HorizontalStack","Canvas","Diagonal"})...{
.Net Mirco Framework 2007技术大会Texttext
=newText(m_app.NinaBFont,s+"PanelDemo");
.Net Mirco Framework 2007技术大会text.ForeColor
=unselectedItemColor;
.Net Mirco Framework 2007技术大会text.TextAlignment
=TextAlignment.Center;
.Net Mirco Framework 2007技术大会text.Width
=this.Width;
.Net Mirco Framework 2007技术大会ListBoxItemlbi
=newListBoxItem();
.Net Mirco Framework 2007技术大会lbi.Background
=m_listbox.Background;
.Net Mirco Framework 2007技术大会lbi.Child
=text;
.Net Mirco Framework 2007技术大会m_listbox.Items.Add(lbi);
.Net Mirco Framework 2007技术大会}

.Net Mirco Framework 2007技术大会m_listbox.SelectedIndex
=0;
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//Addablanklineinthestack
.Net Mirco Framework 2007技术大会
panel.Children.Add(textflow=newTextFlow());
.Net Mirco Framework 2007技术大会textflow.TextRuns.Add(
"",app.NinaBFont,instructionTextColor);
.Net Mirco Framework 2007技术大会textflow.Visibility
=Visibility.Visible;
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//Thebottomchildcontainstextwithreturninstructions
.Net Mirco Framework 2007技术大会
textflow=newTextFlow();
.Net Mirco Framework 2007技术大会textflow.TextAlignment
=TextAlignment.Center;
.Net Mirco Framework 2007技术大会textflow.Visibility
=Visibility.Visible;
.Net Mirco Framework 2007技术大会textflow.TextRuns.Add(
.Net Mirco Framework 2007技术大会
newTextRun("(AfterviewingaPanelDemo,hitEntertoreturntothisscreen)",
.Net Mirco Framework 2007技术大会app.NinaBFont,instructionTextColor));
.Net Mirco Framework 2007技术大会panel.Children.Add(textflow);
.Net Mirco Framework 2007技术大会}

.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
protectedoverridevoidOnButtonDown(ButtonEventArgse)...{
.Net Mirco Framework 2007技术大会
//If<Enter>buttonispressed,gointotheselecteddemo
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
if(e.Button==Button.Select)...{
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
switch(MainListBox.SelectedIndex)...{
.Net Mirco Framework 2007技术大会
case0://VerticalStackPanelDemo
.Net Mirco Framework 2007技术大会
newStackPanelDemo(m_app,Orientation.Vertical);
.Net Mirco Framework 2007技术大会
break;
.Net Mirco Framework 2007技术大会
case1://HorizontalStackPanelDemo
.Net Mirco Framework 2007技术大会
newStackPanelDemo(m_app,Orientation.Horizontal);
.Net Mirco Framework 2007技术大会
break;
.Net Mirco Framework 2007技术大会
case2://CanvasPanelDemo
.Net Mirco Framework 2007技术大会
newCanvasPanelDemo(m_app);
.Net Mirco Framework 2007技术大会
break;
.Net Mirco Framework 2007技术大会
case3://DiagonalPanelDemo
.Net Mirco Framework 2007技术大会
newDiagonalPanelDemo(m_app);
.Net Mirco Framework 2007技术大会
break;
.Net Mirco Framework 2007技术大会}

.Net Mirco Framework 2007技术大会}

.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
//Don'tcallbaseimplementation(base.OnButtonDown)orwe'llgobackHome
.Net Mirco Framework 2007技术大会
}

.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
protectedoverridevoidOnGotFocus(FocusChangedEventArgse)...{
.Net Mirco Framework 2007技术大会
//Wheneverthiswindowgetsfocus,itgivesittoitslistbox
.Net Mirco Framework 2007技术大会
Buttons.Focus(m_listbox);
.Net Mirco Framework 2007技术大会
base.OnGotFocus(e);
.Net Mirco Framework 2007技术大会}

.Net Mirco Framework 2007技术大会}

.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
/**///////////////////////////////////////////////////////////////////////////////
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会
.Net Mirco Framework 2007技术大会.Net Mirco Framework 2007技术大会
internalsealedclassStackPanelDemo:PresentationWindow...{
.Net Mirco Framework 2007技术大会
//ThisclassshowshowtobuildyourownshapedrawinginaDraw

相关文章:

  • 2022-01-02
  • 2021-05-18
  • 2021-11-19
  • 2022-12-23
  • 2022-01-10
  • 2022-02-11
  • 2022-12-23
  • 2021-12-11
猜你喜欢
  • 2021-07-20
  • 2021-09-21
  • 2022-12-23
  • 2022-01-27
  • 2021-10-11
  • 2021-12-19
相关资源
相似解决方案