-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathFrmAbout.cs
146 lines (126 loc) · 5 KB
/
FrmAbout.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
using System.Reflection;
namespace SignalAnalysis;
partial class FrmAbout : Form
{
#region Descriptores de acceso de atributos de ensamblado
public string AssemblyTitle
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
if (attributes.Length > 0)
{
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
if (titleAttribute.Title != "")
{
return titleAttribute.Title;
}
}
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().Location);
}
}
public string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}
public string AssemblyDescription
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return String.Concat(((AssemblyDescriptionAttribute)attributes[0]).Description,
".",
System.Environment.NewLine,
System.Environment.NewLine,
"No commercial use allowed whatsoever. Contact the author for any inquires.",
System.Environment.NewLine,
System.Environment.NewLine,
"If you find this software useful, please consider supporting it!");
}
}
public string AssemblyProduct
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyProductAttribute)attributes[0]).Product;
}
}
public string AssemblyCopyright
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
}
public string AssemblyCompany
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
#endregion
public FrmAbout()
{
InitializeComponent();
// this.Text = String.Format("About {0}", AssemblyTitle);
this.labelProductName.Text = String.Format(StringResources.AboutProductName, AssemblyProduct);
this.labelVersion.Text = String.Format(StringResources.AboutVersion, AssemblyVersion);
this.labelCopyright.Text = String.Format(StringResources.AboutCopyright, AssemblyCopyright);
this.labelCompanyName.Text = String.Format(StringResources.AboutCompanyName, AssemblyCompany);
this.textBoxDescription.Text = String.Format(StringResources.AboutDescription, AssemblyDescription);
// Set form icons and images
//if (System.IO.File.Exists(path + @"\images\about.ico")) this.Icon = new Icon(path + @"\images\about.ico");
//Bitmap image = new Icon(path + @"\images\logo.ico", 256, 256).ToBitmap();
//if (System.IO.File.Exists(path + @"\images\[email protected]")) this.logoPictureBox.Image = new Bitmap(path + @"\images\[email protected]");
this.logoPictureBox.Image = GraphicsResources.Load<Image>(GraphicsResources.AppLogo256);
}
protected override void WndProc(ref Message m)
{
const int WM_PARENTNOTIFY = 0x210;
const int WM_LBUTTONDOWN = 0x201;
//const int WM_LBUTTONUP = 0x202;
//const int WM_KEYDOWN = 0x100;
const int WM_KEYUP = 0x101;
const int VK_ESCAPE = 0x1B;
const int VK_RETURN = 0x0D;
// https://stackoverflow.com/questions/27646476/how-to-fire-form-click-event-even-when-clicking-on-user-controls-in-c-sharp
if (m.Msg == WM_PARENTNOTIFY && m.WParam.ToInt32() == WM_LBUTTONDOWN)
{
this.Close();
//// get the clicked position
//var x = (int)(m.LParam.ToInt32() & 0xFFFF);
//var y = (int)(m.LParam.ToInt32() >> 16);
//// get the clicked control
//var childControl = this.GetChildAtPoint(new Point(x, y));
//// call onClick (which fires Click event)
//OnClick(EventArgs.Empty)
// do something else...
}
else if (m.Msg == WM_KEYUP && ((m.WParam.ToInt32() == VK_ESCAPE) | (m.WParam.ToInt32() == VK_RETURN)))
this.Close();
base.WndProc(ref m);
}
}