这是“使用
C# 开发智能手机软件:推箱子
”系列文章的第十二篇。在这篇文章中,介绍 Window/AboutDlg.cs 源程序文件。

这个源程序文件包括 AboutDlg 类,该类继承自 System.Windows.Forms.Form 类。表示推箱子的“关于”对话框。例如以下图所看到的:



使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP 使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP



使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP 使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP



使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP



使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP



    以下是 Window/AboutDlg.Designer.cs 源程序的部分代码:

namespace Skyiv.Ben.PushBox.Window

{

  partial class AboutDlg

  {



    // 这里省略了一些代码 使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP



    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 源程序的代码:

 1使用 C# 开发智能手机软件:推箱子(十二)-LMLPHPusing System;

 2使用 C# 开发智能手机软件:推箱子(十二)-LMLPHPusing System.Windows.Forms;

 3使用 C# 开发智能手机软件:推箱子(十二)-LMLPHPusing Skyiv.Ben.PushBox.Common;

 4使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP

 5使用 C# 开发智能手机软件:推箱子(十二)-LMLPHPnamespace Skyiv.Ben.PushBox.Window

 6使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP{

 7使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP  /// <summary>

 8使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP  /// “关于”对话框

 9使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP  /// </summary>

10使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP  public partial class AboutDlg : Form

11使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP  {

12使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    public AboutDlg(bool isTopMost)

13使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    {

14使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP      InitializeComponent();

15使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP      TopMost = isTopMost;

16使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    }

17使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP

18使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    protected override void OnLoad(EventArgs e)

19使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    {

20使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP      base.OnLoad(e);

21使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP      LoadVersionInfo();

22使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP      LoadSystemInfo();

23使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    }

24使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP

25使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    protected override void OnResize(EventArgs e)

26使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    {

27使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP      base.OnResize(e);

28使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP      LoadSystemInfo();

29使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    }

30使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP

31使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    void LoadVersionInfo()

32使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    {

33使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP      tbxVersion.Text = "skyiv (R) 推箱子" + Fcl.NewLine +

34使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP        "版本号 " + Pub.GetVersionBuildString(Pub.Version) + Fcl.NewLine + Fcl.NewLine +

35使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP        "(C) Skyiv Studio (ben)" + Fcl.NewLine +

36使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP        "http://ben.skyiv.com" + Fcl.NewLine +

37使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP        "[email protected]" + Fcl.NewLine + Fcl.NewLine +

38使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP        "推箱子是一款绿色软件。使用 C# 开发,基于 Microsoft .NET Compact Framework 2.0。

" +

39使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP        "执行环境为使用 Microsoft Windows Mobile 6.0 的智能手机,也能够在安装有 " +

40使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP        "Microsoft .NET Framework 2.0 执行库的计算机上执行。";

41使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    }

42使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP

43使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    void LoadSystemInfo()

44使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    {

45使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP      tbxSystem.Text = "操作系统标识: " + Environment.OSVersion.Platform + Fcl.NewLine +

46使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP        "操作系统版本号: " + Environment.OSVersion + Fcl.NewLine +

47使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP        "公共语言执行库版本号: " + Environment.Version + Fcl.NewLine +

48使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP        "屏幕分辨率: " + Pub.ToString(Screen.PrimaryScreen.Bounds.Size) + Fcl.NewLine +

49使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP        "程序位置: " + Pub.CodeBases;

50使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP    }

51使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP  }

52使用 C# 开发智能手机软件:推箱子(十二)-LMLPHP}

AboutDlg 类(以及 Window 文件夹下的表示各种对话框的类)的构造函数有一个布尔型的參数 isTopMost。表示“菜单 -> 前端显示”是否选中,即是否总是显示在最前面。另外,AboutDlg 类还重载了基类的 OnResize 方法,当“关于”对话框窗体的尺寸改变时,调用 LoadSystemInfo
方法更新“系统”信息。用于在智能手机在“横屏”和“竖屏”之间切换时显示正确的“屏幕分辨率”。

    另外,Smartphone 手机不支持 TabControl 控件,所以 Smartphone 版本号的推箱子程序的“关于”对话框直接在窗口上放一个 TextBox  控件显示信息。

05-11 18:41