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

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

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

 

 

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

namespace Skyiv.Ben.PushBox.Window

{

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

1using System;

2using System.Windows.Forms;

3using Skyiv.Ben.PushBox.Common;

4

5namespace Skyiv.Ben.PushBox.Window

6{

7  /// <summary>

8  /// “关于”对话框

9  /// </summary>

10  public partial class AboutDlg : Form

11  {

12    public AboutDlg(bool isTopMost)

13    {

14      InitializeComponent();

15      TopMost = isTopMost;

16    }

17

18    protected override void OnLoad(EventArgs e)

19    {

20      base.OnLoad(e);

21      LoadVersionInfo();

22      LoadSystemInfo();

23    }

24

25    protected override void OnResize(EventArgs e)

26    {

27      base.OnResize(e);

28      LoadSystemInfo();

29    }

30

31    void LoadVersionInfo()

32    {

33      tbxVersion.Text = "skyiv (R) 推箱子" + Fcl.NewLine +

34        "版本号 " + Pub.GetVersionBuildString(Pub.Version) + Fcl.NewLine + Fcl.NewLine +

35        "(C) Skyiv Studio (ben)" + Fcl.NewLine +

36        "http://ben.skyiv.com" + Fcl.NewLine +

37        "[email protected]" + Fcl.NewLine + Fcl.NewLine +

38        "推箱子是一款绿色软件。使用 C# 开发,基于 Microsoft .NET Compact Framework 2.0。

" +

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  控件显示信息。

时间: 2024-12-27 23:31:28

使用 C# 开发智能手机软件:推箱子(十二)的相关文章

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

这是"使用 C# 开发智能手机软件:推箱子" 系列文章的第十八篇.在这篇文章中.介绍 Window/SelectLevelDlg.cs 源程序文件. 这个源程序文件包括 SelectLevelDlg 类,该类继承自 System.Windows.Forms.Form 类.表示推箱子的"选关"对话框.例如以下图所看到的: 以下是 Window/SelectLevelDlg.Designer.cs 的源程序的部分代码: namespace Skyiv.Ben.PushB

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

这是"使用 C# 开发智能手机软件:推箱子"系列文章的第十四篇.在这篇文章中,介绍 Window/ErrorMsgDlg.cs 源程序文件.这个源程序文件包括 ErrorMsgDlg 类.该类继承自 System.Windows.Forms.Form 类,表示推箱子的"错误信息"对话框.例如以下图所看到的:   以下是 Window/ErrorMsgDlg.Designer.cs 源程序的部分代码: namespace Skyiv.Ben.PushBox.Windo

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

这是"使用 C# 开发智能手机软件:推箱子" 系列文章的第十六篇.在这篇文章中,介绍 Window/ConfigDlg.cs 源程序文件.这个源程序文件包含 ConfigDlg 类,该类继承自 System.Windows.Forms.Form 类,表示推箱子的"配置"对话框.如下图所示: 下面是 Window/ConfigDlg.Designer.cs 的源程序的部分代码: namespace Skyiv.Ben.PushBox.Window { partial 

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

这是"使用 C# 开发智能手机软件:推箱子" 系列文章的第二十二篇.在这篇文章中,介绍 Window/MainForm.Replay.cs 源程序文件.这个源程序文件是 MainForm 类的一部分,该类继承自 System.Windows.Forms.Form 类,表示推箱子的主窗体.而本篇文章讲述的是推箱子"回放"过程,如下图所示: 我们先看看 MainForm.Designer.cs 源程序文件(该文件是由 Visual Studio 2005 IDE 自动生

使用 C# 开发智能手机软件:推箱子(四)

这是"使用 C# 开发智能手机软件:推箱子"系列文章的第四篇. 在这篇文章中,介绍 Common/FindPath.cs 源程序文件. using System; using System.Drawing; using System.Collections.Generic; namespace Skyiv.Ben.PushBox.Common { /// <summary> /// 寻找最短路线 /// </summary> static class FindP

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

这是"使用 C# 开发智能手机软件:推箱子" 系列文章的第二十一篇.在这篇文章中,介绍 Window/MainForm.Design.cs 源程序文件.这个源程序文件是 MainForm 类的一部分,该类继承自 System.Windows.Forms.Form 类,表示推箱子的主窗体.而本篇文章讲述的是推箱子"设计"的实际工作,如下图所示: 我们先看看 MainForm.Designer.cs 源程序文件(该文件是由 Visual Studio 2005 IDE

使用 C# 开发智能手机软件:推箱子(三)

这是"使用 C# 开发智能手机软件:推箱子"系列文章的第三篇.在这篇文章中,介绍 Common/Block.cs 源程序文件. 1 namespace Skyiv.Ben.PushBox.Common 2 { 3   /// <summary> 4   /// 基本单元格: 地 槽 墙 砖 箱子 工人 5   /// </summary> 6   static class Block 7   { 8     public const byte Land = 0;

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

在上篇文章"使用 C# 开发智能手机软件:推箱子(一)"中.我对推箱子程序作了整体介绍.这次,我先介绍 Common/Fcl.cs 源程序文件. 1 using System; 2 using System.IO; 3 using System.Drawing; 4 5 namespace Skyiv.Ben.PushBox.Common 6 { 7   /// <summary> 8   /// 这里是 .NET Framework 支持.而 .NET Compact F

使用 C# 开发智能手机软件:推箱子(七)

这是"使用 C# 开发智能手机软件:推箱子"系列文章的第七篇.在这篇文章中,介绍 Common/Step.cs 源程序文件. 1namespace Skyiv.Ben.PushBox.Common 2{ 3  enum Direction { None, East, South, West, North } // 方向: 无 东 南 西 北 4  public enum Action { None, Create, Edit, Delete } // 设计: 无 创建 编辑 删除 5