Windows 窗体和图形
更新:2007 年 11 月
此 .NET Compact Framework 2.0 版在以下几方面扩展了用户界面的功能:
Microsoft.WindowsCE.Forms 命名空间中具有更多 .NET Compact Framework 特定的控件。
扩展了对 System.Windows.Forms 命名空间中的控件和类的支持。
更强的绘图和图形支持。
可自动滚动的窗体。
剪贴板支持。
键盘事件。
Pocket PC 特定的功能。
Smartphone 特定的功能。
改进了 Windows 窗体应用程序和对象析构的关闭。
对 Pocket PC 上的集成键盘的支持。
对屏幕方向和分辨率更改的支持。请参见如何:处理方向和分辨率更改。
Microsoft.WindowsCE.Form 中的新类型和更改的类型
下表摘要列出了 Microsoft.WindowsCE.Forms 命名空间中的新类和新更改。有关可以使用的控件的列表,请参见 .NET Compact Framework 中的 Windows 窗体控件。
类型 |
说明 |
---|---|
显示并响应用户通知。 |
|
显示并管理文档。 |
|
为 Pocket PC 硬件上的按钮提供重写功能。 |
|
提供对安装在 Pocket PC 上的所有输入法软件的访问。 |
|
在 Smartphone 2003 上受支持。 |
|
为文本效果(如旋转文本)定义逻辑字体对象。 |
|
提供新的 Text 属性。可以使用此属性来设置和获取 MessageWindow 的文本。 |
|
提供 Hibernate 事件,该事件允许您根据担保释放缓存的资源。 |
|
允许您在不重置设备的情况下将屏幕方向值更改为 90、180 或 270。 需要使用运行 Windows Mobile 2003 Second Edition 的 Pocket PC。 |
Windows 窗体支持
下表总结了 .NET Compact Framework 2.0 中对 System.Windows.Forms 命名空间中的类的扩展支持。
控件或功能 |
扩展支持 |
---|---|
支持能力包括复制和粘贴 DataObject。 |
|
对 DropDownStyle 属性的支持。 |
|
2.0 版支持以下成员:
|
|
设计时体验 |
支持停靠、锚定和 Splitter。 |
Font 集合 |
支持。 |
在公共控件上受支持。 |
|
Form 控件 |
支持以下成员: 使用全屏幕窗体性能更好。 |
Form.Load 事件 |
在发生 Form.Load 事件后会显示此窗体。这可能会影响那些执行自定义绘制或在事件发生期间显示另一个窗体的应用程序。 |
此类和“帮助”事件及事件处理程序类一起都是受支持的。有关示例,请参见如何:显示用户帮助。但是,不支持 HelpProvider 类。 |
|
按键事件 |
在公共控件上受支持。 |
KeyPreview 属性 |
在公共控件上受支持。您可以使用 KeyPreview 属性从集成键盘捕获键盘事件。 |
支持,但只提供自动格式化为带下划线及蓝色的基本超链接。 |
|
支持 EnsureVisible 方法。 |
|
菜单和工具栏 |
Pocket PC 应用程序中的一个子窗口的命令栏在添加时被置于 Z 顺序的顶部。这将导致命令栏隐藏所有重叠命令栏工作区的较低的 Z 顺序控件。 |
支持。 |
|
拥有的模式对话框 |
支持。 |
支持。 |
|
支持。 |
|
支持。 |
|
Tab 键导航和焦点 |
.NET Compact Framework 2.0 版支持 TabIndex 和 TabStop 属性,但不支持 UpdateZOrder 方法。 在 2.0 版中,不再需要显式设置要接收焦点的第一个控件。 如果一个窗体包含可以用 Tab 键导航的控件,则在显示该窗体时,该控件将获得焦点。这与 .NET Framework 全功能版行为相匹配,并且有助于键盘导航。 仅当将焦点成功设置到新控件时,设置 Focus 属性才会返回 true。如果禁用了目标控件,或将焦点移离 GotFocus 事件或 LostFocus 事件中的目标控件,则 Focus 方法将返回 false。 Tab 键导航发生在自定义控件的子控件之间。 |
没有任何行为限制,您可以控制宽度。在默认情况下,控件停靠在顶部以维护 1.0 版行为。 |
|
以下几项是受支持的:
|
|
线程处理 |
如果访问控件时所用的线程不是在没有使用 Invoke 方法的情况下创建该控件时所用的线程,将引发 NotSupportedException。 |
支持按钮工具提示。 |
|
支持移除刻度线。 |
|
支持以下成员:
支持使用 Enter 键选择项目。 |
|
支持。 |
|
完全支持需要用于 Pocket PC 和 Smartphone 的 Windows Mobile 5.0 版。有关更多信息,请参见如何:在 .NET Compact Framework 中使用 WebBrowser 控件。 |
图形支持
.NET Compact Framework 2.0 扩展了对绘制和使用具有以下功能的图形对象的支持:
使用 Image.Save(String, ImageFormat) 方法保存图像。
使用 LockBits(Rectangle, ImageLockMode, PixelFormat) 方法访问位图数据。请参见如何:使用 LockBits。
位图序列化(包括 JPG)。
ClearType 字体支持。
使用 LogFont 对象创建文本效果。有关示例应用程序,请参见使用 LogFont 显示旋转文本的示例。
带图案画笔(内置和位图)。
克隆一个 Pen,设置其宽度,并使用虚线线型。
DirectX 和 Direct3D
.NET Compact Framework 2.0 提供了用于使用托管 DirectX 和 Direct3D 类开发移动应用程序的类。不过,若要运行这些应用程序,需要使用用于 Pocket PC 的 Windows Mobile 5.0 版软件和用于 Smartphone 的 Windows Mobile 5.0 版本。有关更多信息和“如何”主题,请参见.NET Compact Framework 中的 Mobile Direct3D 编程。
Pocket PC 功能
.NET Compact Framework 2.0 为 Pocket PC 提供了以下功能:
通过使用 HardwareButton 组件使硬件按钮和应用程序相关联。
使硬件按钮和快捷菜单相关联。
DocumentList 控件。
发送 Notification。
有关更多信息,请参见 Pocket PC 开发和 .NET Compact Framework。
Smartphone 功能
.NET Compact Framework 2.0 为 Smartphone 提供了以下扩展支持:
DataGrid 类。
设置文本框的字母或数字输入模式。请参见如何:设置 Smartphone 输入模式。
QVGA 旧版应用程序。
有关更多信息,请参见 Smartphone 开发和 .NET Compact Framework。
改进的关闭方式
应用程序的关闭方式在两个方面有所改进:
每当有控件被损坏时都会调用 Dispose 方法,从而提供了更好的关闭方式。
当关闭主窗体时,.NET Compact Framework 就会以由上而下的方式损坏窗口。