
这是“使用
C# 开发智能手机软件:推箱子”系列文章的第十二篇。在这篇文章中,介绍 Window/AboutDlg.cs 源程序文件。
这个源程序文件包括 AboutDlg 类,该类继承自 System.Windows.Forms.Form 类。表示推箱子的“关于”对话框。例如以下图所看到的:
以下是 Window/AboutDlg.Designer.cs 源程序的部分代码:
{
partial class AboutDlg
{
// 这里省略了一些代码

private System.Windows.Forms.TabControl tclMain;
private System.Windows.Forms.TabPage tpgVersion;
private System.Windows.Forms.TabPage tpgSystem;
private System.Windows.Forms.TextBox tbxVersion;
private System.Windows.Forms.TextBox tbxSystem;
}
}
在“关于”对话框中,用一个 TabControl 控件来管理相关的选项卡页集。分为“版本号”和“系统”两个选项卡(TabPage 控件),每一个选项卡中使用 TextBox 控件来显示相关的信息。
以下是 Window/AboutDlg.cs 源程序的代码:

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

" +
39 "执行环境为使用 Microsoft Windows Mobile 6.0 的智能手机,也能够在安装有 " +
40 "Microsoft .NET Framework 2.0 执行库的计算机上执行。";
41 }
42
43 void LoadSystemInfo()
44 {
45 tbxSystem.Text = "操作系统标识: " + Environment.OSVersion.Platform + Fcl.NewLine +
46 "操作系统版本号: " + Environment.OSVersion + Fcl.NewLine +
47 "公共语言执行库版本号: " + Environment.Version + Fcl.NewLine +
48 "屏幕分辨率: " + Pub.ToString(Screen.PrimaryScreen.Bounds.Size) + Fcl.NewLine +
49 "程序位置: " + Pub.CodeBases;
50 }
51 }
52}
AboutDlg 类(以及 Window 文件夹下的表示各种对话框的类)的构造函数有一个布尔型的參数 isTopMost。表示“菜单 -> 前端显示”是否选中,即是否总是显示在最前面。另外,AboutDlg 类还重载了基类的 OnResize 方法,当“关于”对话框窗体的尺寸改变时,调用 LoadSystemInfo
方法更新“系统”信息。用于在智能手机在“横屏”和“竖屏”之间切换时显示正确的“屏幕分辨率”。
另外,Smartphone 手机不支持 TabControl 控件,所以 Smartphone 版本号的推箱子程序的“关于”对话框直接在窗口上放一个 TextBox 控件显示信息。