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

 1 using  System;
 2 using  System.Windows.Forms;
 3 using  Skyiv.Ben.PushBox.Common;
 4
 5 namespace  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        "skyivben@gmail.com" + 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  控件显示信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值