您的位置:首页 > 其它

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

2007-10-10 09:15 555 查看
这是“使用 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 控件显示信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: