FotoVision学习手记(3)

FotoVision学习手记(3)

AboutForm十分简单,重写了继承自System.Windows.Forms.FormOnLoad方法,而不采用AboutForm_Load来响应窗体的Load事件。

FotoVision学习手记(3)usingSystem;
FotoVision学习手记(3)
usingSystem.Drawing;
FotoVision学习手记(3)
usingSystem.Collections;
FotoVision学习手记(3)
usingSystem.ComponentModel;
FotoVision学习手记(3)
usingSystem.Windows.Forms;
FotoVision学习手记(3)
usingSystem.Diagnostics;
FotoVision学习手记(3)
usingSystem.Reflection;
FotoVision学习手记(3)
FotoVision学习手记(3)
namespacePhotoVision
FotoVision学习手记(3)FotoVision学习手记(3)
FotoVision学习手记(3){
FotoVision学习手记(3)FotoVision学习手记(3)
/**////<summary>
FotoVision学习手记(3)
///AboutForm的摘要说明。
FotoVision学习手记(3)
///</summary>

FotoVision学习手记(3)publicclassAboutForm:System.Windows.Forms.Form
FotoVision学习手记(3)FotoVision学习手记(3)
FotoVision学习手记(3){
FotoVision学习手记(3)
privateclassConsts
FotoVision学习手记(3)FotoVision学习手记(3)
FotoVision学习手记(3){
FotoVision学习手记(3)
publicconstStringCompanyLink="http://phinecos.cnblogs.com/";//开发者网站
FotoVision学习手记(3)
}

FotoVision学习手记(3)FotoVision学习手记(3)
Windows窗体设计器生成的代码#regionWindows窗体设计器生成的代码
FotoVision学习手记(3)
//省去设计器生成的代码
FotoVision学习手记(3)
#endregion

FotoVision学习手记(3)
FotoVision学习手记(3)
privatevoidbuttonOk_Click(objectsender,System.EventArgse)
FotoVision学习手记(3)FotoVision学习手记(3)
FotoVision学习手记(3){//关闭“关于”窗体
FotoVision学习手记(3)
this.Close();
FotoVision学习手记(3)}

FotoVision学习手记(3)
FotoVision学习手记(3)
protectedoverridevoidOnLoad(System.EventArgse)
FotoVision学习手记(3)FotoVision学习手记(3)
FotoVision学习手记(3){//重写了OnLoad方法
FotoVision学习手记(3)

FotoVision学习手记(3)
base.OnLoad(e);//引发基类的Load事件
FotoVision学习手记(3)
FotoVision学习手记(3)
//更新版本信息
FotoVision学习手记(3)
stringdelimStr=".";
FotoVision学习手记(3)
char[]delimiter=delimStr.ToCharArray();//分割符
FotoVision学习手记(3)

FotoVision学习手记(3)String[]version
=Application.ProductVersion.Split(delimiter);//分割版本号信息
FotoVision学习手记(3)
this.labelVersion.Text=String.Format("版本号:{0}.{1}.{2}",version[0],version[1],version[2]);
FotoVision学习手记(3)
FotoVision学习手记(3)
//获取此应用程序使用的程序集列表
FotoVision学习手记(3)

FotoVision学习手记(3)AssemblyName[]others
=System.Reflection.Assembly.GetExecutingAssembly().GetReferencedAssemblies();
FotoVision学习手记(3)
foreach(AssemblyNameaNameinothers)
FotoVision学习手记(3)FotoVision学习手记(3)
FotoVision学习手记(3){
FotoVision学习手记(3)
this.listAssemblies.Items.Add(String.Format("{0}({1})",aName.Name,aName.Version.ToString()));
FotoVision学习手记(3)}

FotoVision学习手记(3)
FotoVision学习手记(3)
//图片的存放位置
FotoVision学习手记(3)
this.textPhotoLocation.Text=Global.DataLocation;
FotoVision学习手记(3)
FotoVision学习手记(3)}

FotoVision学习手记(3)
FotoVision学习手记(3)
privatevoidlinkCompany_LinkClicked(objectsender,System.Windows.Forms.LinkLabelLinkClickedEventArgse)
FotoVision学习手记(3)FotoVision学习手记(3)
FotoVision学习手记(3){
FotoVision学习手记(3)
try
FotoVision学习手记(3)FotoVision学习手记(3)
FotoVision学习手记(3){//启动浏览器
FotoVision学习手记(3)
this.linkCompany.LinkVisited=true;
FotoVision学习手记(3)System.Diagnostics.Process.Start(Consts.CompanyLink);
FotoVision学习手记(3)}

FotoVision学习手记(3)
catch(System.Exceptionex)
FotoVision学习手记(3)FotoVision学习手记(3)
FotoVision学习手记(3){
FotoVision学习手记(3)Trace.WriteLine(ex.Message.ToString());
FotoVision学习手记(3)}

FotoVision学习手记(3)}

FotoVision学习手记(3)}

FotoVision学习手记(3)}

FotoVision学习手记(3)

其中,在获取图片的存放位置时使用了一个全局信息类Global。这是一个静态的不可继承的类,提供了很多供其他类读取和修改的全局信息,例如进度的执行情况,图片操作的列表和从应用程序配置文件中读取的配置信息等等。这些全局信息通过Global类提供的静态的公有属性和公有函数来进行访问。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

下面是AboutForm里用到的Global的属性:

FotoVision学习手记(3)FotoVision学习手记(3)/**////<summary>
FotoVision学习手记(3)
///Global的摘要说明。
FotoVision学习手记(3)
///</summary>

FotoVision学习手记(3)publicsealedclassGlobal
FotoVision学习手记(3)FotoVision学习手记(3)
FotoVision学习手记(3){
FotoVision学习手记(3)
privateGlobal()
FotoVision学习手记(3)FotoVision学习手记(3)
FotoVision学习手记(3){//构造函数私有使得类成为静态类
FotoVision学习手记(3)
//
FotoVision学习手记(3)
//TODO:在此处添加构造函数逻辑
FotoVision学习手记(3)
//
FotoVision学习手记(3)
}

FotoVision学习手记(3)
publicstaticStringDataLocation
FotoVision学习手记(3)FotoVision学习手记(3)
FotoVision学习手记(3){//获取指向由指定枚举标识的系统特殊文件夹的路径,其中"Personal"指定用作文档的公共储存库的目录。
FotoVision学习手记(3)
get
FotoVision学习手记(3)FotoVision学习手记(3)
FotoVision学习手记(3){
FotoVision学习手记(3)
returnSystem.IO.Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.Personal),System.Windows.Forms.Application.ProductName);
FotoVision学习手记(3)}

FotoVision学习手记(3)}

FotoVision学习手记(3)}

FotoVision学习手记(3)


到这里为止,系统里边缘无关的信息都已经了解清楚了,接下来就要开始探索系统中最吸引人的地方---自定义控件和各种面板组件,最后是事件的反升处理(子控件将事件通知给父控件处理),我们会看到就好比是冒泡一样,层层上传事件,这更是系统的精华所在了,此外,GDI+操作更是不可错过的精彩。