这是“使用 C# 开发智能手机软件:推箱子”系列文章的第十二篇。在这篇文章中,介绍 Window/AboutDlg.cs 源程序文件。这个源程序文件包含 AboutDlg 类,该类继承自 System.Windows.Forms.Form 类,表示推箱子的“关于”对话框。如下图所示:
 
 
 
 


下面是 Window/AboutDlg.Designer.cs 源程序的部分代码:
在“关于”对话框中,用一个 TabControl 控件来管理相关的选项卡页集,分为“版本”和“系统”两个选项卡(TabPage 控件),每个选项卡中使用 TextBox 控件来显示相关的信息。下面是 Window/AboutDlg.cs 源程序的代码:
AboutDlg 类(以及 Window 目录下的表示各种对话框的类)的构造函数有一个布尔型的参数 isTopMost,表示“菜单 -> 前端显示”是否选中,即是否总是显示在最前面。另外,AboutDlg 类还重载了基类的 OnResize 方法,当“关于”对话框窗口的尺寸改变时,调用 LoadSystemInfo 方法更新“系统”信息,用于在智能手机在“横屏”和“竖屏”之间切换时显示正确的“屏幕分辨率”。
另外,Smartphone 手机不支持 TabControl 控件,所以 Smartphone 版本的推箱子程序的“关于”对话框直接在窗体上放一个 TextBox 控件显示信息。
上一篇:使用 C# 开发智能手机软件:推箱子(十一)
下一篇:使用 C# 开发智能手机软件:推箱子(十三)
返回目录
 
 
 
 


下面是 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;
}
}
{
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 源程序的代码:
 1 using System;
using System;
2 using System.Windows.Forms;
using System.Windows.Forms;
3 using Skyiv.Ben.PushBox.Common;
using Skyiv.Ben.PushBox.Common;
4
5 namespace Skyiv.Ben.PushBox.Window
namespace Skyiv.Ben.PushBox.Window
6 {
{
7 /// <summary>
  /// <summary>
8 /// “关于”对话框
  /// “关于”对话框
9 /// </summary>
  /// </summary>
10 public partial class AboutDlg : Form
  public partial class AboutDlg : Form
11 {
  {
12 public AboutDlg(bool isTopMost)
    public AboutDlg(bool isTopMost)
13 {
    {
14 InitializeComponent();
      InitializeComponent();
15 TopMost = isTopMost;
      TopMost = isTopMost;
16 }
    }
17
18 protected override void OnLoad(EventArgs e)
    protected override void OnLoad(EventArgs e)
19 {
    {
20 base.OnLoad(e);
      base.OnLoad(e);
21 LoadVersionInfo();
      LoadVersionInfo();
22 LoadSystemInfo();
      LoadSystemInfo();
23 }
    }
24
25 protected override void OnResize(EventArgs e)
    protected override void OnResize(EventArgs e)
26 {
    {
27 base.OnResize(e);
      base.OnResize(e);
28 LoadSystemInfo();
      LoadSystemInfo();
29 }
    }
30
31 void LoadVersionInfo()
    void LoadVersionInfo()
32 {
    {
33 tbxVersion.Text = "skyiv (R) 推箱子" + Fcl.NewLine +
      tbxVersion.Text = "skyiv (R) 推箱子" + Fcl.NewLine +
34 "版本 " + Pub.GetVersionBuildString(Pub.Version) + Fcl.NewLine + Fcl.NewLine +
        "版本 " + Pub.GetVersionBuildString(Pub.Version) + Fcl.NewLine + Fcl.NewLine +
35 "(C) Skyiv Studio (ben)" + Fcl.NewLine +
        "(C) Skyiv Studio (ben)" + Fcl.NewLine +
36 "http://ben.skyiv.com" + Fcl.NewLine +
        "http://ben.skyiv.com" + Fcl.NewLine +
37 "skyivben@gmail.com" + Fcl.NewLine + Fcl.NewLine +
        "skyivben@gmail.com" + Fcl.NewLine + Fcl.NewLine +
38 "推箱子是一款绿色软件,使用 C# 开发,基于 Microsoft .NET Compact Framework 2.0。" +
        "推箱子是一款绿色软件,使用 C# 开发,基于 Microsoft .NET Compact Framework 2.0。" +
39 "运行环境为使用 Microsoft Windows Mobile 6.0 的智能手机,也可以在安装有 " +
        "运行环境为使用 Microsoft Windows Mobile 6.0 的智能手机,也可以在安装有 " +
40 "Microsoft .NET Framework 2.0 运行库的计算机上运行。";
        "Microsoft .NET Framework 2.0 运行库的计算机上运行。";
41 }
    }
42
43 void LoadSystemInfo()
    void LoadSystemInfo()
44 {
    {
45 tbxSystem.Text = "操作系统标识: " + Environment.OSVersion.Platform + Fcl.NewLine +
      tbxSystem.Text = "操作系统标识: " + Environment.OSVersion.Platform + Fcl.NewLine +
46 "操作系统版本: " + Environment.OSVersion + Fcl.NewLine +
        "操作系统版本: " + Environment.OSVersion + Fcl.NewLine +
47 "公共语言运行库版本: " + Environment.Version + Fcl.NewLine +
        "公共语言运行库版本: " + Environment.Version + Fcl.NewLine +
48 "屏幕分辨率: " + Pub.ToString(Screen.PrimaryScreen.Bounds.Size) + Fcl.NewLine +
        "屏幕分辨率: " + Pub.ToString(Screen.PrimaryScreen.Bounds.Size) + Fcl.NewLine +
49 "程序位置: " + Pub.CodeBases;
        "程序位置: " + Pub.CodeBases;
50 }
    }
51 }
  }
52 }
}
 using System;
using System;2
 using System.Windows.Forms;
using System.Windows.Forms;3
 using Skyiv.Ben.PushBox.Common;
using Skyiv.Ben.PushBox.Common;4

5
 namespace Skyiv.Ben.PushBox.Window
namespace Skyiv.Ben.PushBox.Window6
 {
{7
 /// <summary>
  /// <summary>8
 /// “关于”对话框
  /// “关于”对话框9
 /// </summary>
  /// </summary>10
 public partial class AboutDlg : Form
  public partial class AboutDlg : Form11
 {
  {12
 public AboutDlg(bool isTopMost)
    public AboutDlg(bool isTopMost)13
 {
    {14
 InitializeComponent();
      InitializeComponent();15
 TopMost = isTopMost;
      TopMost = isTopMost;16
 }
    }17

18
 protected override void OnLoad(EventArgs e)
    protected override void OnLoad(EventArgs e)19
 {
    {20
 base.OnLoad(e);
      base.OnLoad(e);21
 LoadVersionInfo();
      LoadVersionInfo();22
 LoadSystemInfo();
      LoadSystemInfo();23
 }
    }24

25
 protected override void OnResize(EventArgs e)
    protected override void OnResize(EventArgs e)26
 {
    {27
 base.OnResize(e);
      base.OnResize(e);28
 LoadSystemInfo();
      LoadSystemInfo();29
 }
    }30

31
 void LoadVersionInfo()
    void LoadVersionInfo()32
 {
    {33
 tbxVersion.Text = "skyiv (R) 推箱子" + Fcl.NewLine +
      tbxVersion.Text = "skyiv (R) 推箱子" + Fcl.NewLine +34
 "版本 " + Pub.GetVersionBuildString(Pub.Version) + Fcl.NewLine + Fcl.NewLine +
        "版本 " + Pub.GetVersionBuildString(Pub.Version) + Fcl.NewLine + Fcl.NewLine +35
 "(C) Skyiv Studio (ben)" + Fcl.NewLine +
        "(C) Skyiv Studio (ben)" + Fcl.NewLine +36
 "http://ben.skyiv.com" + Fcl.NewLine +
        "http://ben.skyiv.com" + Fcl.NewLine +37
 "skyivben@gmail.com" + Fcl.NewLine + Fcl.NewLine +
        "skyivben@gmail.com" + Fcl.NewLine + Fcl.NewLine +38
 "推箱子是一款绿色软件,使用 C# 开发,基于 Microsoft .NET Compact Framework 2.0。" +
        "推箱子是一款绿色软件,使用 C# 开发,基于 Microsoft .NET Compact Framework 2.0。" +39
 "运行环境为使用 Microsoft Windows Mobile 6.0 的智能手机,也可以在安装有 " +
        "运行环境为使用 Microsoft Windows Mobile 6.0 的智能手机,也可以在安装有 " +40
 "Microsoft .NET Framework 2.0 运行库的计算机上运行。";
        "Microsoft .NET Framework 2.0 运行库的计算机上运行。";41
 }
    }42

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

 
        
 
   
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号