`
mmdev
  • 浏览: 12922070 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

VS.NET 2005 Beta 2初体验(1)-用C#开发Managed代码

阅读更多

VS.NET 2005 Beta 2初体验

在经历了N次安装CTP不成功的惨痛经历之后(N>4),我终于等到了正式的Beta2出来,我这次安装的是VS.NET的中文标准版,MSDN的订户现在可以在MSDN网站上下载英文的标准版和Team Suite版,其他的开发人员可能还要等几天。

好了,废话不说,安装过程和CTP的基本一致,安装完成后,VS.NET 2005的真面目就出现在我们面前了。

<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"></shapetype><stroke joinstyle="miter"></stroke><formulas></formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f><lock v:ext="edit" aspectratio="t"></lock><shape id="_x0000_i1025" style="WIDTH: 415.5pt; HEIGHT: 258pt" type="#_x0000_t75"></shape><imagedata src="file:///C:/DOCUME~1/wolf/LOCALS~1/Temp/msoclip1/04/clip_image001.jpg" o:title="main"></imagedata>

怎么样?感觉比VS.NET 2003漂亮了不少吧?开始页也不再是分页显示,比较有新意的是在右边占据很大部分的是MSDN的开发新闻,是从MSDN网站上获取的,不过目前看来好象只有英文的消息。

先写个DEMO吧,手已经开始痒了。还是老规矩“文件”-“新建”-“项目”,就出现了下面的界面:

<shape id="_x0000_i1026" style="WIDTH: 414.75pt; HEIGHT: 236.25pt" type="#_x0000_t75"></shape><imagedata src="file:///C:/DOCUME~1/wolf/LOCALS~1/Temp/msoclip1/04/clip_image003.jpg" o:title="NewProject"></imagedata>

VS.NET 2005 Beta1还是有很多相似的地方,目前还没有MagnetoSDK,估计离Magneto的发布还要有一段时间,真不知道BillGMEDC上会拿出什么东西来秀。

继续关心我们的DEMO吧。选择Visual C#下的“智能设备”中Pocket PC 2003中的“设备应用程序”,点击确定。我们会直接进入开发的主界面,而不再需要一个向导了。

<shape id="_x0000_i1027" style="WIDTH: 414.75pt; HEIGHT: 289.5pt" type="#_x0000_t75"></shape><imagedata src="file:///C:/DOCUME~1/wolf/LOCALS~1/Temp/msoclip1/04/clip_image005.jpg" o:title="dev_main"></imagedata>

好了,这就是智能设备应用开发的主界面了,看起来与VS.NET 2003最大的区别就是窗体设计器发生了很大的改变,这也是微软向开发者最早承诺的新特性。我们现在就可以真正开发“所见即所得”的移动应用程序了。其他的改变好象还不是很明显,顺便说一句,VS.NET 2005的工具条的确是漂亮一些了。

如果改变只有这些,那么微软就不是微软了,我们来按照写一个DEMO的思路逐渐开始探险的旅程,首先要往窗体上放一些控件。

<shape id="_x0000_i1028" style="WIDTH: 153.75pt; HEIGHT: 442.5pt" type="#_x0000_t75"></shape><imagedata src="file:///C:/DOCUME~1/wolf/LOCALS~1/Temp/msoclip1/04/clip_image007.jpg" o:title="toolbox_fix"></imagedata>

请大家注意这些我已经画了红线的控件,记得大家在描述CF 1.0开发困难时经常会用这样一句话:“连DateTimePicker都不支持”。好了,现在CF 2.0终于痛改前非了。WebBrower一直都是大家想要的一个东西,这样把浏览器嵌入到自己的程序中就不再是一件难事了。

Notification这次也以控件的身份出现了,在这之前OpenNETCF里的Notification类好象是托管程序开发的唯一选择,不过里边竟然有BUG。不知道微软的官方类库会不会好一点?另外,DocumentListOpenFileDialog都是一些非常有用的控件,以前在CF 1.0中解决不料的问题,这次看起来简单了好多。

为了实验新控件,我们不再写“Hello, world”了,太没技术含量J我们往窗体上拖了一个DateTimePicker控件和一个MothCalendar控件,以及一个Button。双击Button控件,就进入了代码编辑环境。

<shape id="_x0000_i1029" style="WIDTH: 414.75pt; HEIGHT: 257.25pt" type="#_x0000_t75"></shape><imagedata src="file:///C:/DOCUME~1/wolf/LOCALS~1/Temp/msoclip1/04/clip_image008.jpg" o:title="Editor"></imagedata>

这就是Form1.cs里的所有代码,大家发现和以前有什么不一样了吗?对了,细心的开发者一定会问,那些控件的构造方法去哪里了?我们来看下面的画面。

<shape id="_x0000_i1030" style="WIDTH: 456pt; HEIGHT: 231.75pt" type="#_x0000_t75"></shape><imagedata src="file:///C:/DOCUME~1/wolf/LOCALS~1/Temp/msoclip1/04/clip_image010.jpg" o:title="Designer"></imagedata>

大家先看右边的解决方案管理器,在Form1.cs下面多出了两个文件,Form1.Designer.csForm1.resx,后者无疑是一个资源文件,而前者呢?大家看Form1.Designer.cs里的代码是不是有些熟悉?对了,这就是那些控件的构造函数,现在全都搬到另外一个类里去了。除了使Form1.cs更简洁外,微软是不是还有其他的图谋,比如XAML?呵呵瞎猜的。大家在Form1类的声明中可以看到一个新的关键字partial,他就应该是这个变化的关键所在了吧?

好了,这个问题我们回头再研究,在编辑代码的时候,我还有点意外的发现,我们来看下:

<shape id="_x0000_i1031" style="WIDTH: 251.25pt; HEIGHT: 201pt" type="#_x0000_t75"></shape><imagedata src="file:///C:/DOCUME~1/wolf/LOCALS~1/Temp/msoclip1/04/clip_image012.jpg" o:title="重构"></imagedata>

哈哈,这是什么?重构这个词大家不陌生吧?如果不知道,推荐去看下Martin Flower的那本经典。尽管提供的重构功能不是很多,只是“重命名”之类的简单功能,但按照8020原则,这些功能就可以解决大部分的重构问题了。记得在那本《重构》中Martin介绍了SmallTalk下的自动重构工具,这回VS.NET已经引入了其中一些功能,看来微软的工程师也在看《重构》。不知道Martin的下一本书是不是有兴趣用C#来写呢?不过大师的眼睛里已经没有了语言……

继续写代码,将DateTimePickerText属性用MessageBox显示出来,很简单。在写代码的过程中,发现自动补齐功能也有新的变化,就是可以显示该方法的一些概要信息。<shape id="_x0000_i1032" style="WIDTH: 414.75pt; HEIGHT: 59.25pt" type="#_x0000_t75"></shape> <imagedata src="file:///C:/DOCUME~1/wolf/LOCALS~1/Temp/msoclip1/04/clip_image013.jpg" o:title="toolbar"></imagedata>

代码写完就要编译运行了,我们还是要选择部署的位置,模拟器怎么改名叫“仿真程序”了?真不习惯。编译方式和以前一样,按F5或者是界面上的那个绿三角。

我在这里发现了一个新模拟器的问题,就是模拟器运行起来,打印屏幕的按键又不起作用了,这个问题在Pocket PC 2002的模拟器上曾经出现过,PPC 2003 SDK里已经解决了,不知道这次为什么又这样?

写了这么多,总要把运行起来的程序给大家看一下呀。最后终于在VS.NET 2005的菜单里找到了一个老朋友:Remote Zoom,这个以前出现在EVC中的工具终于被VS.NET接受了。和他一起出现的还是那老几位:Remote File ViewerRemote SPY++,不再一一介绍了。想想也正常,EVC都被VS.NET给收编了,这些工具的出现也很正常。Native应用开发的事情估计要下回再说了。

好了,最后给大家看看我昨天晚上的劳动成果吧。祝大家今天有个好心情,不过据说沙尘暴要来了,嗨,VS.NET 2005 Beta 2还真会挑时候……

<shape id="_x0000_i1033" style="WIDTH: 180pt; HEIGHT: 240pt" type="#_x0000_t75"></shape><imagedata src="file:///C:/DOCUME~1/wolf/LOCALS~1/Temp/msoclip1/04/clip_image015.jpg" o:title="CEZoom2"></imagedata>

分享到:
评论

相关推荐

    ODP.NET_Managed_ODAC122cR1-X86 -X64.rar

    不需要安装客户端就能访问oralce数据库的Oracle.ManagedDataAccess.dll

    asp.net C# 写的开源 SNS -- Ezsocio

    该项目将会用到许多微软的最新开发技术,如ASP.NET MVC、Silverlight、LINQ、WCF、Unity、Managed Extensibility Framework等,你可以用它来与朋友联系、共享创意、组织活动、分享照片,同时,我们致力于提供一套极...

    C#与.NET技术平台实战演练.part1

    Microsoft.NET1-5-1.NETFramework1-5-2 公共语言执行环境1-5-3 类函数库1-5-4 .NET程序语言第2章C#概论2-1C#应用程序的结构2-1-1 分析C#应用程序结构2-1-2 Using前置命令与System名称空间2-2...

    C#与.NET技术平台实战演练.part2

    Microsoft.NET1-5-1.NETFramework1-5-2 公共语言执行环境1-5-3 类函数库1-5-4 .NET程序语言第2章C#概论2-1C#应用程序的结构2-1-1 分析C#应用程序结构2-1-2 Using前置命令与System名称空间2-2...

    Oracle Data Provider for .NET, Managed Driver Beta 11.2.0.3.50

    Managed ODP.NET Beta Now Available ODP.NET, Managed Driver is 100% fully managed. Developers can deploy a single assembly, side by side with other ODP.NET versions easily in a deployment package ...

    C# 使用ManagedWifi连有密码的WIFI

    C# 使用ManagedWifi连有密码的WIFI,功能包括...全部源代码,vs2008工程,可编译和测试。 WlanInterface接口的3个event都注册了,可以通过event回调函数得到当前的WIFI连接过程和最终的连接结果(连接成功或者失败)。

    ODP.NET_Managed121020.zip

    ODP.NET_Managed121020

    ODP.NET_Managed_ODAC122cR1

    ODP.NET_Managed_ODAC122cR1ODP.NET_Managed_ODAC122cR1

    ODP.NET_Managed_ODAC122cR1新版.rar

    ODP.NET_Managed_ODAC122cR1包含ODP。NET,仅托管驱动程序xcopy。安装说明包含在zip文件中。

    ZLIBdll+Demo源码

    ZLIB.NET: README ================================================== Contents -------- Program information Company information Description Specification Other ComponentAce compression products ...

    Connector/Net is a fully-managed ADO.NET driver for MySQL.

    Connector/Net is a fully-managed ADO.NET driver for MySQL. MySql 的 ADO.NET 驱动 版本 6.3.5.0 适用于 .net 4.0

    C#利用ManagedWifi获取当前已经连接的WIFI的名称(SSID)

    C#利用ManagedWifi获取当前已经连接的WIFI的名称(SSID)。全部C#源代码,vs2008工程,可编译和测试。

    .NET核心源代码

    含有大部分.net核心类库的源代码 ...在这个名为rotor的包中,含有大部分.net核心类库的源代码,但是不包括ado.net、winform、webform,另外vb.net和managed c++也没有包含在其中。不过像是socket、xml等都包含在里面。

    Apress.Pro.C#.and.the.NET.4.5.Framework.6th.Edition

    This new edition of Pro C# 5.0 and the .NET 4.5 Platform has been completely revised and rewritten to reflect the latest changes to the C# language specification and new advances in the .NET Framework...

    C# 使用ManagedWifi连隐藏的WIFI

    C# 使用ManagedWifi连隐藏的WIFI。隐藏的WIFI和非隐藏WIFI的连接XML不同,隐藏的WIFI需要指定网络参数,主要差别就是这两个。 全部源代码,vs2008工程,可编译和测试。

    Professional C# 7 and .NET Core 2.0

    Professional C# 7 and .NET Core 2.0 provides experienced programmers with the information they need to work effectively with the world’s leading programming language. The latest C# update added many ...

    ODP.NET_Managed_ODAC12cR4.zip

    oracle 全托管驱动以及ODACInstalling Oracle Data Provider for .NET, Managed Driver

    MAPI Accessor for .NET 2.3

    Use this free .NET component to access low-... It supports all .NET languages in Visual Studio 2005, 2008 and Visual Studio 2010 Beta 1, Standard and Professional: Visual Basic .NET, C#, C++ .NET, etc.

Global site tag (gtag.js) - Google Analytics