123 lines
3.8 KiB
C#
123 lines
3.8 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Reflection;
|
|
using Telerik.WinControls.UI;
|
|
|
|
namespace HexcalMC.Form
|
|
{
|
|
internal partial class AboutBox : RadForm
|
|
{
|
|
public AboutBox()
|
|
{
|
|
InitializeComponent();
|
|
|
|
// Initialize the AboutBox to display the product information from the assembly
|
|
// information. Change assembly information settings for your application through either:
|
|
// - Project->Properties->Application->Assembly Information
|
|
// - AssemblyInfo.cs
|
|
Text = string.Format("关于 {0}", AssemblyTitle);
|
|
radLabelProductName.Text = AssemblyProduct;
|
|
radLabelVersion.Text = string.Format("Version {0}", AssemblyVersion);
|
|
radLabelCopyright.Text = AssemblyCopyright;
|
|
radLabelCompanyName.Text = AssemblyCompany;
|
|
radTextBoxDescription.Text = AssemblyDescription;
|
|
|
|
//设置显示位置,位于母窗体中央
|
|
// this.StartPosition = FormStartPosition.CenterScreen;
|
|
}
|
|
|
|
private void okRadButton_Click(object sender, EventArgs e)
|
|
{
|
|
Close();
|
|
}
|
|
|
|
#region Assembly Attribute Accessors
|
|
|
|
public string AssemblyTitle
|
|
{
|
|
get
|
|
{
|
|
// Get all Title attributes on this assembly
|
|
object[] attributes = Assembly.GetExecutingAssembly()
|
|
.GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
|
|
// If there is at least one Title attribute
|
|
if (attributes.Length > 0)
|
|
{
|
|
// Select the first one
|
|
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
|
|
// If it is not an empty string, return it
|
|
if (titleAttribute.Title != "")
|
|
return titleAttribute.Title;
|
|
}
|
|
|
|
// If there was no Title attribute, or if the Title attribute was the empty string,
|
|
// return the .exe name
|
|
return Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
|
|
}
|
|
}
|
|
|
|
public string AssemblyVersion => Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
|
|
|
public string AssemblyDescription
|
|
{
|
|
get
|
|
{
|
|
// Get all Description attributes on this assembly
|
|
object[] attributes = Assembly.GetExecutingAssembly()
|
|
.GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
|
|
// If there aren't any Description attributes, return an empty string
|
|
if (attributes.Length == 0)
|
|
return "";
|
|
// If there is a Description attribute, return its value
|
|
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
|
|
}
|
|
}
|
|
|
|
public string AssemblyProduct
|
|
{
|
|
get
|
|
{
|
|
// Get all Product attributes on this assembly
|
|
object[] attributes = Assembly.GetExecutingAssembly()
|
|
.GetCustomAttributes(typeof(AssemblyProductAttribute), false);
|
|
// If there aren't any Product attributes, return an empty string
|
|
if (attributes.Length == 0)
|
|
return "";
|
|
// If there is a Product attribute, return its value
|
|
return ((AssemblyProductAttribute)attributes[0]).Product;
|
|
}
|
|
}
|
|
|
|
public string AssemblyCopyright
|
|
{
|
|
get
|
|
{
|
|
// Get all Copyright attributes on this assembly
|
|
object[] attributes = Assembly.GetExecutingAssembly()
|
|
.GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
|
|
// If there aren't any Copyright attributes, return an empty string
|
|
if (attributes.Length == 0)
|
|
return "";
|
|
// If there is a Copyright attribute, return its value
|
|
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
|
|
}
|
|
}
|
|
|
|
public string AssemblyCompany
|
|
{
|
|
get
|
|
{
|
|
// Get all Company attributes on this assembly
|
|
object[] attributes = Assembly.GetExecutingAssembly()
|
|
.GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
|
|
// If there aren't any Company attributes, return an empty string
|
|
if (attributes.Length == 0)
|
|
return "";
|
|
// If there is a Company attribute, return its value
|
|
return ((AssemblyCompanyAttribute)attributes[0]).Company;
|
|
}
|
|
}
|
|
|
|
#endregion Assembly Attribute Accessors
|
|
}
|
|
} |