Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. ·...

70
Programming the .NET Compact Framework 1

Transcript of Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. ·...

Page 1: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

Programming the .NET Compact Framework

1

Page 2: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

Programming the .NET Compact Framework .NET Compact Framework概述 常用设备控件

其他 文件

线程

2

Page 3: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

.NET Compact Framework概述

.NET Compact Framework是较小版本的.NET Framework.NET CF 是Windows CE 设备上的一个完整组件,可用于构建并运行托管应用程序及使用Web 服务。

.NET CF 是为在设备资源有限的情况下实现最佳性能而设计的。.NET CF 大约仅为 .NET Framework 全功能版大小的 8%,但它却支持全功能版约 30% 的命名空间和类。为了使其大小保持在较小的水平,仅支持最重要的类和成员。

.NET CF 包括优化的公共语言运行库 (CLR) 以及 .NET Framework 类库的子集,该子集支持Windows Communication Foundation (WCF) 和Windows 窗体等功能。此外,它还包含专门供 .NET Compact Framework 使用的类。如下页图所示。

Visual Studio.NET可开发运行于.NET Compact Framework上的应用程序

3

Page 4: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

NET Compact Framework概述

4

Page 5: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

CTS

5

Page 6: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

类库

6

Page 7: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

7

Page 8: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

Programming the .NET Compact Framework .NET Compact Framework概述 常用设备控件

其他 文件

线程

8

Page 9: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 Label 控件

用于显示用户不能编辑的文本。

最好显示短文本。 Label 控件显示长文本在小屏幕设备上的呈现效果可能不好。

Text 属性:设置 Label 控件要显示的文本。

TextAlig、ForeColor、Font属性:Label 控件的外观。

Label 控件不能接收焦点。

属性可在设计时使用“属性”窗口设置,在运行时用代码设置。

9

Page 10: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 二个关于布局的通用属性

Anchor (Anchor)

如果要设计用户可在运行时调整其大小的窗体,则该窗体上的控件应能正确地调整大小及重新定位。若要与窗体一起动态调整控件的大小,可使用Windows 窗体控件的Anchor 属性。

Anchor 属性:定义控件的定位点位置。当控件锚定到某个窗体时,如果该窗体的大小被调整,该控件维持它与定位点位置之间的距离不变。

Dock

可将控件停靠到窗体的边缘或使它们填充控件的容器(窗体或容器控件)。

例如,“Windows 资源管理器”将TreeView 控件停靠到窗口的左侧,将ListView 控件停靠到窗口的右侧。

10

Page 11: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

TextBox 控件用于获取用户输入或显示文本。

Text 属性:控件显示的文本。默认情况下,最多可在一个文本框中输入2048 个字符。如果将 Multiline 属性设置为 true,则最多可输入 32 KB 的文本。

Multiline 和 ScrollBars 属性,能够显示或输入多行文本

MaxLength属性,可以限制输入到TextBox 控件中的文本数量。

PasswordChar属性,屏蔽在控件的单行版本中输入的字符。

ForeColor,BackColor属性,字体,背景色。

ReadOnly属性,限制TextBox 控件中的所有数据项输入。

若要限制某些文本不被输入到TextBox 控件,可以为 KeyDown事件创建一个事件处理程序,以便验证在控件中输入的每个字符。

11

Page 12: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

TextBox 控件举例

(例TextBox1)如图,有一文本框,部分特性受下面多选框控制:

MulLine:单多行转换Scrollbar:多行时,有垂直滚动条Password:文本内容变成“ * ”Number:文本框只能输入数字

12

Page 13: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

Button 控件允许用户通过单击来执行操作。

当使用 ShowDialog 方法显示一个窗体时,可以使用按钮的DialogResult 属性指定 ShowDialog 的返回值。

13

Page 14: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 ComboBox控件用于在下拉组合框中显示数据。

默认情况下,ComboBox控件分两部分显示:

顶部是一个允许用户键入列表项的文本框。

第二部分是一个列表框,它显示一个项列表,用户可从中选择一项。

DropDownStyle属性:控制显示给用户的界面。

如为 DropDownList,则只能从列表中选择有效值。

如为 DropDown,则可以在 ComboBox 的可编辑区域内键入任何值。

Items 属性:ComboBox 中所包含项的集合。

SelectedIndex属性:返回一个整数值,该值与选择的列表项相对应。如未选任何项,则 SelectedIndex值为 -1。如选列表中的第一项,则SelectedIndex值为 0。

14

Page 15: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

ComboBox 控件(续)

SelectedItem 属性:与 SelectedIndex 类似,但它返回项本身,通常是一个字符串值。

Count 属性:反映列表的项数,由于 SelectedIndex 是从零开始的,所以Count 属性的值通常比 SelectedIndex 的最大可能值大一。

若要在 ComboBox 控件中添加或删除项,请使用Add、Insert、Clear 或Remove 方法。

如: comboBox1.Items.Add("Hello");

comboBox1.Items.Insert(2,"2.5");

comboBox1.Items.Remove("2.5");

comboBox1.Items.Clear();

SelectedIndexChanged 事件:在 SelectedIndex 属性更改后发生。

15

Page 16: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

例:编程实现如右图所示程序。

颜色板下部Color的ComboBox 控件中包含若干颜色选项,当选中某项后,颜色板的颜色和字跟着改变;

Style下的二个按钮更改ComboBox输入方式;

Color Edit实现对Color的ComboBox编辑:根据Color Edit的内容对Color的ComboBox增、插、删、清除。

(Example:ComboBox)

16

Page 17: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

CheckBox 控件复选框控件,指示某特定条件是打开的还是关闭的。它常用于为用户提供是/否或真/假选项。

可以成组使用CheckBox控件以显示多重选项,用户可从中选择一项或多项。

两个重要属性:Checked 和 CheckState。Checked 属性返回 true 或 false。CheckState 属性返回 Checked 或 Unchecked;

如果ThreeState 属性被设置为 true,则 CheckState 还可能返回Indeterminate。处于不确定状态。

当 Checked 属性的值更改时,将引发 CheckStateChanged事件。

17

Page 18: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

RadioButton 控件为用户提供由两个或多个互斥选项组成的选项集。

当单击 RadioButton 控件时,其 Checked 属性设置为 true,并且调用 Click 事件处理程序。

当 Checked 属性的值更改时,将引发 CheckedChanged 事件。

控件内显示的文本使用Text 属性进行设置。

18

Page 19: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

19

例:编程实现如右图所示程序。上部为显示文本。中间为多选项,决定上部的显示文本框是否有相应的滚动条;

下部为单选项,决定显示文本的单行和多行。

(Example:control2)

Page 20: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

ListBox 控件

显示一个项列表,用户可从中选择一项。如果项总数超出可以显示的项数,则自动向 ListBox 控件添加垂直滚动条。

SelectedIndex 属性:返回列表框中选定项的序数值(从0开始)。列表中的相应项将在窗体上突出显示。如未选定任何项,则 SelectedIndex 值为 -1。

SelectedItem 属性:类似于 SelectedIndex,但它返回项本身,通常是字符串值。

Count 属性:反映列表的项数,由于 SelectedIndex 是从零开始的,所以Count 属性的值通常比 SelectedIndex 的最大可能值大一。

在 ListBox控件中添加或删除项,可用Add、Insert、Clear 或 Remove 方法;或者,在设计时使用 Items 属性向列表添加项。

20

Page 21: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件例:编程实现如右图所示程序。中间四个按钮实现项的选择。

(Example:ListBox)

21

Page 22: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

HScrollBar 控件和VScrollBar 控件

用于在应用程序或控件中水平或垂直滚动,以方便地在较长的项列表或大量信息中转移。

有些控件本身提供滚动条,而不需要该控件。如,多行的Text Box控件、ListBox等。

Value 属性:是与滚动框在滚动条中的位置相对应的一个 integer 值。该值总是在用户设置的 Minimum 属性和 Maximum 属性的范围之内。

LargeChange属性:决定在滚动条之内但在滚动框之外单击的效果。

SmallChange属性:确定单击控件各端的滚动箭头的效果。

更改Value 属性值时,会引发ValueChanged 事件。

22

Page 23: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

例:编程实现如图所示程序。1)通过滚动条移动图象;2)移动图象,滚动条作相应变化。

(Example:ScrollBar)

23

Page 24: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

NumericUpDown 控件

看起来像一个文本框与一对箭头的组合。该控件显示并设置某个限定的数值。用户可以单击箭头来调整值。

Value 属性:设置该控件中当前选择的数字。

Maximum属性:获取或设置数字显示框的最大值。默认值为 100。

Minimum属性:获取或设置数字显示框的最小值。默认值为 0。

Increment 属性:设置用户单击向上或向下箭头时数字的调整量。范围在“最小值”和“最大值”之间。

Value 属性更改后发生ValueChanged 事件。

24

Page 25: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

NumericUpDown 控件举例如图的上半部分,界面Setup下的三个NumericUpDown 控件用来设置最上的 NumericUpDown 控件属性,使最上NumericUpDown 控件的最大、最小、调整量受其控制。

(Example:NDUpDown)图的下半部分是DomainUpDown控件示例。

25

Page 26: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

DomainUpDown控件

此控件实质上是一个文本框和一对用于在列表中上下移动的按钮的组合。该控件显示并设置选择列表中的文本字符串。

该控件的作用与列表框或组合框类似,但它占用的空间较小。

Items 属性:包含文本值显示在该控件中的对象列表。

如果Wrap 设置为 true,则项循环滚动。

SelectedIndex属性:获取或设置选定项的索引值。如,下句显示选中项

MessageBox.Show(domainUpDown1.Items[domainUpDown1.SelectedIndex].ToString());

更改列表中的文本字符串后发生SelectedItemChanged事件。

(例Example:NDUpDown,上页ppt)

26

Page 27: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

MonthCalendar 控件

查看和设置日期信息的图形界面。可选择多个日期。

控件外观具有很高的可配置性。默认情况下,今天的日期加上圆形,并在网格的底部显示。通过将 ShowToday和 ShowTodayCircle 属性设置为 false,可以更改此功能。

FirstDayOfWeek 属性:指定每周的第一天为星期几。

MaxDate 和 MinDate 属性:用户可以选择的最早和最晚日期。

BoldedDates属性:添加 DateTime 对象,这些日期显示为粗体。

MaxSelectionCount 属性:获取或设置月历控件中可选择的最大天数。

SelectionStart 和 SelectionEnd 属性:获取或设置选定日期范围的开始和结束日期。

27

Page 28: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件例:编程实现如右图所示程序。

“Info Show”栏用来显示信息。

“1”按钮实现月历中粗体的设置(按钮显示1)和取消(按钮显示2)。

Get按钮获取月历中设置的第一个粗体日期,显示在“Info Show”栏。

Cal按钮在“Info Show”栏显示月历中选择的第一个日期。

Date按钮显示日历时间中的信息(见下页)

(Example: DateTimePicker)

28

Page 29: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

DateTimePicker 控件

使用户可以从日期或时间列表中选择单项。

如果希望 DateTimePicker作为选取或编辑时间(而不是日期)的控件出现,请将 ShowUpDown 属性设置为 true,并将 Format 属性设置为Time。

MaxDate 和 MinDate 属性:确定日期和时间的范围。

Value 属性:当前日期和时间。

值可以按以下四种格式显示(这些格式通过 Format 属性设置):Long、Short、Time或 Custom。如果选择自定义格式,则必须将CustomFormat 属性设置为适当的字符串。如,DateTimePicker1.CustomFormat = "'Today is:hh:mm:ss dddd MMMM dd, yyyy“

29

Page 30: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 PictureBox 控件

用于显示位图、GIF、JPEG、图元文件或图标格式的图形。

所显示的图片由 Image 属性确定,该属性可在运行时或设计时设置。

SizeMode 属性:指示如何显示图像。

(Example: PictureBox )

30

Page 31: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 ProgressBar 控件

通过在水平条中显示适当数目的矩形来指示进程的进度。进度栏通常用于帮助用户了解等待一项进程(如加载大文件)完成所需的时间。

Minimum 和 Maximum 属性:设置进度栏可以显示的最大值和最小值。

Value 属性:表示操作过程中已完成的进度。

StatusBar控件

作为一个区域用在窗体上的,通常显示在窗口的底部,应用程序可以在那里显示各种状态信息。如指示软件正在保存文档。

Text 属性为希望出现在状态栏中的文本。

(Example: ProgressBar)

31

Page 32: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

TrackBar 控件类似于 ScrollBar控件,用于在大量信息中进行浏览,或用于以可视的形式调整数字设置。

Value 属性:滚动块位置TickFrequency属性:控件上绘制的刻度间隔Minimum、 Maximum属性:滚动块滚动的范围。SmallChange 属性:滚动块响应按下向左键或向右键时移动的位置数。LargeChange 属性:滚动块响应按下 Page Up 或 Page Down 键,或者响应鼠标在跟踪条上的滚动块任一边单击时所移动的位置数。

32

(Example: ProgressBar)

Page 33: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

MainMenu控件MainMenu 控件表示菜单的容器。菜单由菜单项( MenuItem 对象)组成。每个 MenuItem 可以为应用程序的命令或其他子菜单项的父菜单。若要将 MainMenu 绑定到将显示它的 Form,请将 MainMenu 分配给Form 的 Menu 属性。

Checked 属性:为 true 或 false,指示是否选定了该菜单项。

ContextMenu控件表示快捷菜单。当用户在控件或窗体的特定区域上单击鼠标右键时会显示快捷菜单。快捷菜单通常用于组合来自窗体的一个 MainMenu的不同菜单项,便于用户在给定应用程序上下文中使用。

快捷菜单和控件相关联的方法是将控件的 ContextMenu 属性设置为ContextMenu 组件。单个快捷菜单可以与多个控件相关联,但每个控件只能有一个快捷菜单。

(Example: Menu)33

Page 34: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

ImageList控件

用于存储图像,这些图像随后可由控件显示。

可将它用于任何具有 ImageList 属性的控件,或用于具有 SmallImageList 和 LargeImageList 属性的 ListView 控件。

主要属性是 Images,它包含关联的控件将要使用的图片。每个单独的图像可通过其索引值来访问。

所有图像都将以同样的大小显示,该大小由 ImageSize 属性设置。较大的图像将缩小至适当的尺寸。

(Example:TreeView)

34

Page 35: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 TreeView 控件

为用户显示节点层次结构,就像在Windows 资源管理器中的左窗格。

Nodes 属性:树视图中的所有节点(TreeNode对象)。

SelectedNode 属性:设置当前选中的节点。

FullPath 属性:从根节点到当前节点的路径。

PathSeparator属性:节点路径所使用的分隔符串,默认为反斜杠字符 (\)。

可在树节点旁显示图像,方法是将一个 ImageList控件分配给TreeView 的ImageList属性,然后通过引用在 ImageList控件中的索引值来分配图像。使用下面的属性分配图像:

ImageIndex 属性:树视图中节点的默认图像。

SelectedImageIndex属性:选定节点时所显示的图像索引。

35

Page 36: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

TreeView 控件(续)ImageIndex 和 SelectedImageIndex 是所有Nodes 节点显示的默认图像索引。每个树节点都可以通过设置TreeNode.ImageIndex 和TreeNode.SelectedImageIndex 属性来取代默认的图像。

CheckBoxes 属性:节点显示复选框。对于处于选中状态的树节点,Checked 属性设置为 true。

通过设置TreeView 控件的一些显示和样式属性,可以更改此控件的外观。

ShowPlusMinus属性:在可展开或折叠的节点旁显示加减号按钮。

ShowRootLines属性:是否在所有根节点之间显示连线。

ShowLines 属性:显示同级节点、子节点与其父节点间的连线。

36

Page 37: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 TreeView 控件(续)

树节点可以展开(或折叠),以显示(折叠)下一级子树节点。可在TreeNode 旁单击加号 (+) 按钮来展开(-,折叠)TreeNode,或通过调用方法来完成:

TreeNode.Expand 方法:展开节点。TreeNode.ExpandAll方法:展开所有子节点。TreeNode.Collapse 方法:折叠节点。TreeNode.Toggle 方法:在展开和折叠状态之间切换。

以编程方式移除节点,使用 Nodes 属性的 Remove 方法移除单个节点,或使用 Clear 方法清除所有节点。如:

treeView1.Nodes.Remove(treeView1.SelectedNode);

treeView1.Nodes.Clear();

treeView1.SelectedNode.Remove();

37

Page 38: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 TreeView 控件举例

(Example:TreeView)编程实现右图所示的Treeview控件的编程。

Add Nodes:在当前节点下增加新节点,如无当前节点,则在跟目录下增加新节点,节点文本为文本框文本;

Del Nodes:删除当前节点Path:显示当前节点路径E/C:当前节点展开/折叠转换

38

Page 39: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 ListView 控件

显示了带图标的项的列表。可使用列表视图创建类似于Windows 资源管理器右窗格的用户界面。

该控件具有四种视图模式:“LargeIcon”、“SmallIcon”、“List”和“Details”。由View属性决定。

Items 属性:ListView 中的项( ListViewItem )。

SelectedIndices 属性:获取控件中所有选定项的索引。WinCE中无SelectedItems 属性。

Activation 属性:确定用户激活列表中的某项时必须执行的操作类型:有 Standard、OneClick 和TwoClick选项。

LargeImageList、SmallImageList 属性:指定LargeIcon”和“SmallIcon”视图的图像;

39

Page 40: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

ListView 控件(续)CheckBoxes 属性:显示复选框。

Columns 属性:访问 ListView.ColumnHeaderCollection,它存储了当控件的View 属性设置为 Details 时显示的列标题。

40

Page 41: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 如:编程实现右图所示的Listview增删。

(Example:TreeView)

Add Item:增加一新项,文本为文本框文本;

Add Item2:增加一具有子项的新项,文本为“test2”,二子项文本为d21,d22;

Del:删除当前项ShowCHK:显示选中项

41

Page 42: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 ToolBar控件

用作窗体上的控制条,以显示一行下拉菜单和一些激活命令的位图按钮。可将按钮配置为以普通按钮、下拉菜单或分隔符等形式显示和表现。

ToolBar 通过将 Button 对象(ToolBarButton)添加到 Buttons 集合来创建工具栏。每个 Button 对象都有图像。图像由一个关联的 ImageList 组件提供。运行时,可使用Add 和 Remove 方法从ToolBarButtonCollection 中添加或移除按钮。

如:ToolBarButton t = new ToolBarButton();

t.ImageIndex = 3;

toolBar1.Buttons.Add(t);

42

Page 43: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 ToolBar控件

若要对ToolBar 的按钮进行编程,请向ToolBar 的 ButtonClick 事件中添加代码,使用ToolBarButtonClickEventArgs 类的 Button 属性来确定所单击的按钮。

Windows CE 平台说明:一个窗体只支持一个ToolBar,尝试添加额外的ToolBar 会引发

NotSupportedException。不支持向除窗体以外的任何其他控件中添加ToolBar,如向 Panel 中添加。

43

Page 44: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

例:(Example:ToolBar)如右图所示界面,工具条的第一个按钮是普通按钮,功能是将二个资源字符串放到文本中;

第二个按钮是乒乓按钮,当压下时,文本框有垂直滚动条,弹起时没有;

第三个按钮是下拉式按钮,可改变文本字体大小;

Add TlButn:在工具条上增加按钮,功能是清除文本框内容;

Del:删除从0开始计数的第4个按钮

Option:参数选项(见后)

44

Page 45: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 TabControl 控件

显示多个选项卡,这些选项卡类似于笔记本中的分隔卡和档案柜文件夹中的标签。选项卡上的显示区域为选项卡页。

TabPages 属性:控件包含的选项卡页(TabPage 对象表示)。此集合中的选项卡页的顺序反映了选项卡在控件中出现的顺序。

SelectedIndex:当前选定选项卡页的索引。

TabControl 中的选项卡是TabControl 的一部分,但不是各个TabPage 控件的一部分。TabPage 类的成员只影响选项卡页的矩形工作区,而不影响选项卡。此外,TabPage 的 Hide 方法不会隐藏选项卡。若要隐藏选项卡,必须从TabControl.TabPages 集合中移除TabPage 控件。

当 SelectedIndex 属性更改时发生 SelectedIndexChanged 事件

45

Page 46: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 TabControl 控件

TabControl 的最重要的属性是TabPages,该属性包含单独的选项卡。每一个单独的选项卡都是一个TabPage 对象。单击选项卡时,将为该TabPage 对象引发 Click 事件。

例:通过选项设置,更改上例中文本的字体和文本框的滚动条。界面如下页所示。当打开选项窗口时,根据主窗口状态(如字体大小、垂直滚动条等)设置选项状态;选项设置后,主窗体的状态做相应更改。

Test按钮功能是隐藏第一个选项卡页,以演示选项卡与选项卡页的不同。

(Example: ToolBar -> Option)

46

Page 47: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

47

Page 48: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

Timer 组件

定期引发事件的组件。时间间隔的长度由 Interval 属性定义,其值以毫秒为单位。若启用了该组件,则每个时间间隔引发一个Tick 事件。这是添加要执行的代码的位置。

打开和关闭计时器可用Enabled属性。不存在暂停 Timer组件的方法。

48

Page 49: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

OpenFileDialog

提示用户打开文件。可将该组件用作简单的文件选择解决方案,而不用配置您自己的对话框。

可使用 ShowDialog 方法在运行时显示该对话框。

FileName属性:对话框中选定的文件名。

Filter 属性:设置当前文件名筛选字符串,该字符串确定出现在对话框的“文件类型”框中的选择。如::"Text files|*.txt|All files|*.*"

FilterIndex属性:文件对话框中当前选定筛选器的索引(从1开始)。

InitialDirectory属性:文件对话框显示的初始目录。

49

Page 50: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

50

SaveFileDialog

提示用户选择文件的保存位置。

可使用 ShowDialog方法在运行时显示该对话框。

属性与OpenFileDialog类似

在 Pocket PC 上,如果不指定文件的扩展名,控件会附加对话框中选定类型的扩展名。

在Windows CE 上,控件不附加扩展名。

Page 51: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

对话框举例:(Example:Control3)

Open:打开文本文件到文本编辑区Save:保存文本编辑区的内容到文本文件

KeyBoard:显示软键盘另二个键用来测试消息气球

51

Page 52: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

InputPanel 组件该组件可以在设备上实现对软输入面板 (SIP) 的编程控制。Enabled 属性:以编程方式显示 SIP;Bounds 属性:获取其大小;对于 Pocket PC,无论是否启用了 SIP,

Bounds 属性返回的宽度总是 240 像素,高度总是 80 像素。VisibleDesktop属性:确定未被 SIP 占据的窗体区域的大小。InputMethods属性:在 Pocket PC 上可用的输入法的集合。这些方法包括键盘、字母识别器、块识别器和设备上安装的其他任何输入方法。

CurrentInputMethod 属性:Pocket PC 的当前输入法。

EnabledChanged 事件在每次启用或禁用 SIP 时发生。

见上例(Example:Control3) ,按下”KeyBoard”键,开启或关闭软键盘,并在文本框中显示当前的输入法。

52

Page 53: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

Notification 类

实现用于显示和响应用户通知的消息气球。

每当用户应在应用程序中进行操作时,可使用 Notification提示。

可以创建通知,然后使用Visible 属性来根据需要显示它们。

InitialDuration 属性:设置消息气球最初显示的时间(秒)。如果将InitialDuration 设置为零,并将Visible 设置为 true,则消息气球不会显示,但是标题栏中会有它的图标,单击可重新激活它。

Caption:消息气球的标题。

Text属性:消息气球的文本

Critical:指示通知是否非常重要。(红色外框)

Icon:标题栏上的消息气球的当前图标。

53

Page 54: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

Notification 类(续)

每当显示或隐藏气球时,都会发生 BalloonChanged 事件。

除了纯文本之外,还可在消息气球中创建 HTML 内容的用户通知。HTML 内容中,标识符“cmd:2”在Windows CE 中具有特定的用途,用于关闭通知。

在用户单击消息气球中的按钮或链接时发生ResponseSubmitted 事件。

如:下例使用一个包含“提交”和“取消”按钮的简单窗体。取消”按钮由“cmd:2”标识,Windows CE 使用它来解除通知。

54

Page 55: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件StringBuilder HTMLString = new StringBuilder();HTMLString.Append("<html><body>");HTMLString.Append("Submit data?");HTMLString.Append("<form method=\'GET\' action=notify>");HTMLString.Append("<input type='submit'>");HTMLString.Append(“<input type=button

name=‘cmd:2‘ value='Cancel'>");HTMLString.Append("</body></html>");

//Set the Text property to the HTML string.notification1.Text = HTMLString.ToString();

notification1.Visible = true;

(见上例,Example:Control3)

55

Page 56: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

DocumentList 控件

以一致的方式显示和管理文档。此控件提供以下功能:

选择、删除、复制、移动和重命名文件和文件夹。

按文件名、日期或大小排序。

以电子邮件方式发送文件。(右键点击文件实现)

通过红外装置将文件发送到其他设备。

DocumentList 是一个控件,而不是一个完整的类似于 FileDialog 的对话框。利用 DocumentList 控件,可在文件选择 UI 中加入自定义菜单或其他控件。

DocumentList 的宽度应与它所在的表单相同。长度可根据需要来决定。

DocumentList 仅显示“我的文档”层次结构中的所选文件夹的文件。

56

Page 57: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

DocumentList 控件(续)实现 DocumentList 控件

使用 DocumentList 创建一个 Pocket PC Windows 应用程序。 使用 Filter 属性指定可以访问的文件类型。 使用 FilterIndex 属性指定最初显示的文件。 使用 SelectedDirectory 属性指定一个默认文件夹。 提供代码以处理 DocumentActivated 事件(在控件中选择文件时发生)。

提供代码以处理 SelectedDirectoryChanged 事件(在控件中选择文件夹时发生 )。

提供代码以处理 DeletingDocument 事件(在控件中删除文件时发生 )。

(Example: DocumentList )

57

Page 58: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件 HardwareButton控件( Example:HardKey)

允许重写 Pocket PC 硬件按钮的功能。

可在 Pocket PC 上配置按钮以激活应用程序中的 Form、Panel 或自定义控件,步骤如下:

从“工具箱”的“设备组件”选项卡中,将“HardwareButton”组件拖动到Windows 窗体上或设计器的组件栏中。

将“AssociatedControl”属性设置要激活的窗体或控件。

将“HardwareKey”属性设置为要重写的键(最多可配置六个硬件按钮)。

单击设计器外观上的按钮。

当硬件按钮与某个控件关联时,按下此按钮时控件将接收到KeyDown 事件,释放此按钮时控件将接收到 KeyUp 事件。若要使硬件按钮返回其原始状态,为 AssociatedControl 属性提供一个空引用值即可。

代码编辑器在 xxx_KeyDown 事件处理程序中打开。

59

Page 59: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

常用设备控件

SerialPort 类表示串行端口资源。

此类提供同步 I/O 和事件驱动的 I/O、对管脚和中断状态的访问以及对串行驱动程序属性的访问。另外,此类的功能可以包装在内部 Stream 对象中,可通过 BaseStream 属性访问,并且可以传递给包装或使用流的类。

OpenReadWrite、WriteLineClose

60

Page 60: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

电话拨号

Defines methods for placing phone calls. 引用

Microsoft.WindowsMobile.Telephony (in microsoft.windowsmobile.telephony.dll)

代码

Phone phT = new Phone();phT.Talk("123");

( Example:HardKey)

61

Page 61: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

文件操作

文件和流

文件是一些具有永久存储及特定顺序的字节组成的一个有序的、具有名称的集合。

.NET Framework 使用流来读写文件。可将流视为一组连续的一维数据,包含开头和结尾,并且其中的游标指示流中的当前位置。

流中包含的数据可能来自内存、文件或TCP/IP 套接字。

在 .NET Framework 中,流由 Stream 类来表示,该类构成了所有其他流的抽象类。

62

Page 62: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

文件操作

用于文件 I/O 的类 Directory(静态)、 DirectoryInfo(实例):提供通过目录和子目录进行创建、移动和枚举的方法。

File、 FileInfo:提供用于创建、复制、删除、移动和打开文件的方法,并协助创建 FileStream。

用于从流读取和写入流的类

BinaryReader 和 BinaryWriter :从 Streams 读取或向 Streams 写入编码的字符串和基元数据类型。

StreamReader、StreamWriter:通过使用特定的编码(默认为

UTF-8 )将字符转换为字节,从/向Streams 中读取/写入字符。

63

Page 63: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

64

例:下列代码片段检索根目录下的所有目录并放到一个 treeView控件中。using System.IO;……DirectoryInfo dirT = new DirectoryInfo(“\\");foreach (DirectoryInfo fileT in dirT.GetDirectories())

treeView1.Nodes.Add(fileT.Name.ToString());在treeView控件中选中某目录后,在treeView控件中显示子目录,listView控件中显示文件

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e){ string strDirCur = treeView1.SelectedNode.FullPath;

DirectoryInfo dirT = new DirectoryInfo(strDirCur);foreach (DirectoryInfo dirT2 in dirT.GetDirectories())

treeView1.SelectedNode.Nodes.Add(dirT2.Name.ToString());listView1.Items.Clear();foreach (FileInfo fiT in dirT.GetFiles()){ ListViewItem liT = new ListViewItem(fiT.Name.ToString());

listView1.Items.Add(liT);}

}

Page 64: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

文件操作

例:打开文本文件到一个文本控件中

If (File.Exists("Test.txt"))

{ StreamReader srT = File.OpenText("Test.txt");

/*StreamReader srT = new StreamReader(strFile); */

textBox1.Text = srT.ReadToEnd();

srT.Close();

}

例:将文本控件中内容写入到一文本文件中

StreamWriter swT = new StreamWriter(“t.txt”);

swT.Write(textBox1.Text);

swT.Close();

65

Page 65: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

文件操作

二进制文件读写

FileStream fsT = new FileStream("b.dat",FileMode.Create);

BinaryWriter bwT = new BinaryWriter(fsT);

for (int i=0;i<10;i++) bwT.Write(i);

bwT.Close();

fsT = new FileStream("b.dat", FileMode.Open);

BinaryReader brT = new BinaryReader(fsT);

while (brT.PeekChar() != -1)

textBox1.Text += brT.Read().ToString();

brT.Close();

66

Page 66: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

举例

例:编写一程序,类似资源管理器。在文件视图中,双击文本文件打开文件,双击非文本文件显示其属性。(Example:Explore)

上机练习此例

70

Page 67: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

使用线程和线程处理

一个进程可以创建一个或多个线程以执行与该进程关联的部分程序代码。

创建线程

创建新的 Thread对象,使用ThreadStart 委托或ParameterizedThreadStart 委托指定由线程执行的程序代码(此委托可将数据传递到线程过程)。如:

Thread InstanceCaller = new Thread( new ThreadStart(函数));

InstanceCaller.Start();

销毁线程

Abort 方法用于永久地停止托管线程。

71

Page 68: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

使用线程和线程处理

例:编写如右图所示界面的演示程序。按下start按钮后,上面的进度条在前进,同时允许用户编辑下面的编辑框;按下Abort按钮后,进度条停止动作。

代码片段如下:

72

Page 69: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

73

public void thShow(){ if (progressBar1.Value >= progressBar1.Maximum - 1)

progressBar1.Value = progressBar1.Minimum;progressBar1.Value += 1;

}Thread thT1;delegate void sd();private void thS2(){ sd sdCall = new sd(thShow);

for (int i = 0; i < 100; i++){ Invoke(sdCall); //在拥有此控件的基础窗口句柄的线程上执行委托。

Thread.Sleep(500); }button1.Enabled = true;

}private void Start_Click(object sender, EventArgs e){ thT1 = new Thread(thS2);

thT1.Start();button1.Enabled = false;

}private void About_Click(object sender, EventArgs e){ thT1.Abort();

button1.Enabled = true;}

Page 70: Programming the .NET Compact Frameworkstaff.ustc.edu.cn/~shizhu/WinCE/4.pdf · 2009. 12. 15. · .NET Compact Framework概述 .NET Compact Framework 是较小版本的.NET Framework.NET

个人所得税计算公式:应纳税=(本月收入总额-个人所得税起征额)×税率-速算扣除数

个人所得税率表

级数 全月应纳税所得额 税率(%) 速算扣除数

1 不超过500元的 5 0

2 超过500元至2,000元的部分 10 25

3 超过2,000元至5,000元的部分 15 125

4 超过5,000元至20,000元的部分 20 375

5 超过20,000元至40,000元的部分 25 1375

6 超过40,000元至60,000元的部分 30 3375

7 超过60,000元至80,000元的部分 35 6375

8 超过80,000元至100,000元的部分 40 10375

9 超过100,000元的部分 45 15375

74

上机练习