使用 C# 开发智能手机软件:推箱子(十二)
这是“使用
C# 开发智能手机软件:推箱子”系列文章的第十二篇。在这篇文章中,介绍 Window/AboutDlg.cs 源程序文件。
这个源程序文件包括 AboutDlg 类,该类继承自 System.Windows.Forms.Form 类。表示推箱子的“关于”对话框。例如以下图所看到的:
以下是 Window/AboutDlg.Designer.cs 源程序的部分代码:
{
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 源程序的代码:
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 "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 控件显示信息。
使用 C# 开发智能手机软件:推箱子(十二)的更多相关文章
- 使用 C# 开发智能手机软件:推箱子(十四)
这是"使用 C# 开发智能手机软件:推箱子"系列文章的第十四篇.在这篇文章中,介绍 Window/ErrorMsgDlg.cs 源程序文件.这个源程序文件包括 ErrorMsgDl ...
- 使用 C# 开发智能手机软件:推箱子(十八)
这是"使用 C# 开发智能手机软件:推箱子" 系列文章的第十八篇.在这篇文章中.介绍 Window/SelectLevelDlg.cs 源程序文件. 这个源程序文件包括 Selec ...
- 使用 C# 开发智能手机软件:推箱子(四)
这是"使用 C# 开发智能手机软件:推箱子"系列文章的第四篇. 在这篇文章中,介绍 Common/FindPath.cs 源程序文件. using System; using Sy ...
- 使用 C# 开发智能手机软件:推箱子(二)
在上篇文章"使用 C# 开发智能手机软件:推箱子(一)"中.我对推箱子程序作了整体介绍.这次,我先介绍 Common/Fcl.cs 源程序文件. 1 using System; ...
- 使用 C# 开发智能手机软件:推箱子(三)
这是"使用 C# 开发智能手机软件:推箱子"系列文章的第三篇.在这篇文章中,介绍 Common/Block.cs 源程序文件. 1 namespace Skyiv.Ben.Pu ...
- GIS基础软件及操作(十二)
原文 GIS基础软件及操作(十二) 练习十二. ArcMap制图-地图版面设计 设置地图符号-各种渲染方式的使用 使用ArcMap Layout(布局)界面制作专题地图 将各种地图元素添加到地图版面中 ...
- C#开发PACS医学影像处理系统(十二):绘图处理之图形标记
在医生实际使用过程中,对于有病灶的影像需要一些2D绘图操作,例如对于病灶的标记和测量, 这就牵涉到在WPF中的2D绘图操作技术,一般的思路是监听鼠标的按下和抬起以及运动轨迹,目前整理出的常用绘图和测量 ...
- Java开发笔记(一百四十二)JavaFX的对话框
JavaFX的对话框主要分为提示对话框和文件对话框两类,其中提示对话框又分作消息对话框.警告对话框.错误对话框.确认对话框四种.这四种对话框都使用Alert控件表达,并通过对话框类型加以区分,例如Al ...
- iOS开发——UI进阶篇(十二)事件处理,触摸事件,UITouch,UIEvent,响应者链条,手势识别
触摸事件 在用户使用app过程中,会产生各种各样的事件 一.iOS中的事件可以分为3大类型 触摸事件加速计事件远程控制事件 响应者对象在iOS中不是任何对象都能处理事件,只有继承了UIResponde ...
随机推荐
- Red Hat Enterprise Linux 7.4配置VSFTP服务器
vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此外,还具有很高的安全性.传输速度,以及支 ...
- grep查看源代码用法
http://blog.csdn.net/guyongqiangx/article/details/70161189
- perf 移植
perf 移植 perf工具用于系统性能的调优,程序优化.源码在kenel/tools/perf目录. 我在imx6平台上进行移植.将自己的移植过程记录如下. 参考链接 http://blog.csd ...
- .NET:CLR via C# The Interlocked Anything Pattern
Many people look at the Interlocked methods and wonder why Microsoft doesn't create a richer set of ...
- servlet 3.0特性说明
Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布.该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发 ...
- 使用IP访问Mantis显示空白页的解决办法
使用http://localhost/mantis/ 可成功访问Mantis,但使用IP地址:http://172.16.20.111/Mantis却访不了,显示“无法显示网页”. 在aphache中 ...
- 推荐Java程序员阅读的书籍(转)
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...
- css3 3d展示中rotate()介绍与简单实现
最近在了解css3的3d动画效果,学习发现,css3中的3d效果实现还是很好玩的,现在我给你大家简单的介绍一下css3中3d效果的实现. 我也只是一个初学者,如果在博客中写的不对的地方欢迎指正. 好了 ...
- nginx配置location总结
location匹配顺序 "="前缀指令匹配,如果匹配成功,则停止其他匹配 普通字符串指令匹配,顺序是从长到短,匹配成功的location如果使用^~,则停止其他匹配(正则匹配) ...
- 两个List循环
package execise; import java.util.ArrayList; import java.util.List; import domain.User; public class ...