AboutBox.cs
上传用户:dzysfj
上传日期:2021-09-14
资源大小:118k
文件大小:5k
源码类别:

菜单

开发平台:

C#

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Windows.Forms;
  6. using System.Reflection;
  7. namespace SystemMenuDemo
  8. {
  9.     partial class AboutBox : Form
  10.     {
  11.         public AboutBox()
  12.         {
  13.             InitializeComponent();
  14.             //  初始化 AboutBox 以显示程序集信息中包含的产品信息。
  15.             //  也可以通过以下方法更改应用程序的程序集信息设置:
  16.             //  - 项目->属性->应用程序->程序集信息
  17.             //  - AssemblyInfo.cs
  18.             this.Text = String.Format("关于 {0}", AssemblyTitle);
  19.             this.labelProductName.Text = AssemblyProduct;
  20.             this.labelVersion.Text = String.Format("版本 {0}", AssemblyVersion);
  21.             this.labelCopyright.Text = AssemblyCopyright;
  22.             this.labelCompanyName.Text = AssemblyCompany;
  23.             this.textBoxDescription.Text = AssemblyDescription;
  24.         }
  25.         #region 程序集属性访问器
  26.         public string AssemblyTitle
  27.         {
  28.             get
  29.             {
  30.                 // 获取此程序集上的所有 Title 属性
  31.                 object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
  32.                 // 如果至少有一个 Title 属性
  33.                 if (attributes.Length > 0)
  34.                 {
  35.                     // 请选择第一个属性
  36.                     AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
  37.                     // 如果该属性为非空字符串,则将其返回
  38.                     if (titleAttribute.Title != "")
  39.                         return titleAttribute.Title;
  40.                 }
  41.                 // 如果没有 Title 属性,或者 Title 属性为一个空字符串,则返回 .exe 的名称
  42.                 return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
  43.             }
  44.         }
  45.         public string AssemblyVersion
  46.         {
  47.             get
  48.             {
  49.                 return Assembly.GetExecutingAssembly().GetName().Version.ToString();
  50.             }
  51.         }
  52.         public string AssemblyDescription
  53.         {
  54.             get
  55.             {
  56.                 // 获取此程序集的所有 Description 属性
  57.                 object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
  58.                 // 如果 Description 属性不存在,则返回一个空字符串
  59.                 if (attributes.Length == 0)
  60.                     return "";
  61.                 // 如果有 Description 属性,则返回该属性的值
  62.                 return ((AssemblyDescriptionAttribute)attributes[0]).Description;
  63.             }
  64.         }
  65.         public string AssemblyProduct
  66.         {
  67.             get
  68.             {
  69.                 // 获取此程序集上的所有 Product 属性
  70.                 object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
  71.                 // 如果 Product 属性不存在,则返回一个空字符串
  72.                 if (attributes.Length == 0)
  73.                     return "";
  74.                 // 如果有 Product 属性,则返回该属性的值
  75.                 return ((AssemblyProductAttribute)attributes[0]).Product;
  76.             }
  77.         }
  78.         public string AssemblyCopyright
  79.         {
  80.             get
  81.             {
  82.                 // 获取此程序集上的所有 Copyright 属性
  83.                 object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
  84.                 // 如果 Copyright 属性不存在,则返回一个空字符串
  85.                 if (attributes.Length == 0)
  86.                     return "";
  87.                 // 如果有 Copyright 属性,则返回该属性的值
  88.                 return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
  89.             }
  90.         }
  91.         public string AssemblyCompany
  92.         {
  93.             get
  94.             {
  95.                 // 获取此程序集上的所有 Company 属性
  96.                 object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
  97.                 // 如果 Company 属性不存在,则返回一个空字符串
  98.                 if (attributes.Length == 0)
  99.                     return "";
  100.                 // 如果有 Company 属性,则返回该属性的值
  101.                 return ((AssemblyCompanyAttribute)attributes[0]).Company;
  102.             }
  103.         }
  104.         #endregion
  105.     }
  106. }