168 lines
7.2 KiB
C#
168 lines
7.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using Eugen.ESystem.Windows.Forms;
|
|
|
|
namespace Test_Info
|
|
{
|
|
public partial class Form1 : Form
|
|
{
|
|
#region Version und Copyright
|
|
// Version und Copyright
|
|
string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
|
|
string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
|
static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
|
|
string copyright = GenerateCopyright();
|
|
string icon = Application.StartupPath + "\\Info.bmp";
|
|
//Assembly Datum und Zeit
|
|
static DateTime value = AssemblyDateTime();
|
|
string date = value.ToShortDateString();
|
|
string time = value.ToLongTimeString();
|
|
private static DateTime AssemblyDateTime()
|
|
{
|
|
var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
|
|
var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision));
|
|
//Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
|
|
return buildDateTime;
|
|
}
|
|
|
|
private static string CurrentYear()
|
|
{
|
|
DateTime dtn = DateTime.Now;
|
|
return dtn.Year.ToString();
|
|
}
|
|
|
|
private static string StartYear()
|
|
{
|
|
//string startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
|
|
//return startYear.Remove(0, startYear.LastIndexOf(" ") + 1);
|
|
string startYear = "";
|
|
if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
|
|
{
|
|
startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
|
|
while (startYear.StartsWith(" "))
|
|
{
|
|
startYear = startYear.Remove(0, 1);
|
|
}
|
|
startYear = startYear.Remove(startYear.IndexOf(" "));
|
|
return startYear;
|
|
}
|
|
else
|
|
{
|
|
DateTime dtn = DateTime.Now;
|
|
return dtn.Year.ToString();
|
|
}
|
|
}
|
|
|
|
private static string GenerateCopyright()
|
|
{
|
|
string startYear = StartYear();
|
|
string currentYear = CurrentYear();
|
|
|
|
if (startYear == currentYear)
|
|
{
|
|
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
|
|
}
|
|
else
|
|
{
|
|
//return String.Concat(((AssemblyCopyrightAttribute)attributes[0]).Copyright, "-", currentYear);
|
|
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear));
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Programm-Info
|
|
/// <summary>
|
|
/// Contains the name of the program file
|
|
/// </summary>
|
|
public static string ProgramName { set; get; }
|
|
|
|
/// <summary>
|
|
/// Contains the version of the program file
|
|
/// </summary>
|
|
public static string ProgramVersion { set; get; }
|
|
|
|
/// <summary>
|
|
/// Contains the copyright notice
|
|
/// </summary>
|
|
public static string Copyright { set; get; }
|
|
|
|
private void SetProgramInfo()
|
|
{
|
|
//Name, Version und Copyright setzen
|
|
ProgramName = programName;
|
|
ProgramVersion = programVersion;
|
|
Copyright = copyright;
|
|
}
|
|
#endregion
|
|
|
|
public Form1()
|
|
{
|
|
SetProgramInfo();
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void Form1_Load(object sender, EventArgs e)
|
|
{
|
|
ShowInformation(); //Programm- und DLL-Information anzeigen
|
|
}
|
|
|
|
private void ShowInformation()
|
|
{
|
|
labelProgramInfo.Text = String.Concat(ProgramName, "\n", ProgramVersion, "\n", Copyright); //Programm-Information anzeigen
|
|
|
|
// DLL-Information anzeigen
|
|
labelDLLInfo.Text = String.Concat(ExtendedInfoBox.DllName, "\r\n", ExtendedInfoBox.DllVersion, "\r\n", ExtendedInfoBox.Copyright); // Zeigt die DLL-Information an
|
|
}
|
|
|
|
private void buttonShowInfo_Click(object sender, EventArgs e)
|
|
{
|
|
string text = "In diesem Bereich wird die komplette Information ausgegeben. Beim Exportieren wird der Inhalt dieses Bereiches auf eine Zeilenlänge von 80 Zeichen formatiert und dann in eine Textdatei exportiert. So kann die Textdatei problemlos auf ein A4 im Hochformat ausgedruckt werden. Zeilenumbrüche und Wagenrückläufe im Text werden erkannt und bei der Formatierung berücksichtigt.\r\nWird der Text oder ein Teil davom markiert und dann exportiert, dann wir der markierte Teil unformatiert exportiert.";
|
|
|
|
//
|
|
// Diese Zeilen gehört in das Programm kopiert
|
|
//
|
|
// Aufruf des Informationsfensters
|
|
var info = new ExtendedInfoBox("Meine Info", ExtendedInfoBox.Icons.Information, "Gesamte Information", "Text selektieren, ist umformatiert exportieren", "Text nicht selektieren, ist formatiert exportiern", "Entscheiden Sie.", text, true);
|
|
info.ShowDialog();
|
|
//
|
|
//
|
|
}
|
|
|
|
private void buttonShowInfo2_Click(object sender, EventArgs e)
|
|
{
|
|
string text = "In diesem Bereich wird die komplette Information ausgegeben. Beim Exportieren wird der Inhalt dieses Bereiches auf eine Zeilenlänge von 80 Zeichen formatiert und dann in eine Textdatei exportiert. So kann die Textdatei problemlos auf ein A4 im Hochformat ausgedruckt werden. Zeilenumbrüche und Wagenrückläufe im Text werden erkannt und bei der Formatierung berücksichtigt.\r\nWird der Text oder ein Teil davom markiert und dann exportiert, dann wir der markierte Teil unformatiert exportiert.";
|
|
|
|
//
|
|
// Diese Zeilen gehört in das Programm kopiert
|
|
//
|
|
// Aufruf des Informationsfensters
|
|
var info1 = new ExtendedInfoBox("Meine Warnung", ExtendedInfoBox.Icons.Warning, "Alle Probleme", "Gefahr im Anzug!", "Nicht ignorieren!", "Sofort reagiern!", text, true);
|
|
info1.ShowDialog();
|
|
//
|
|
//
|
|
}
|
|
|
|
private void buttonShowInfo3_Click(object sender, EventArgs e)
|
|
{
|
|
//
|
|
// Diese Zeilen gehört in das Programm kopiert
|
|
//
|
|
// Aufruf des Informationsfensters
|
|
var info2 = new ExtendedInfoBox("Meine Frage", ExtendedInfoBox.Icons.Question, "Ist das Korrekt?", "Kann das sein?", "Oder doch nicht?", "Was ist Ihre Meinung?", "Die Export Funktion kann unterdrückt werden, dann sieht das Fenster so aus.", false);
|
|
info2.SetSize(400, 300); //Eine neue Fenstergröße definieren
|
|
info2.ShowDialog();
|
|
//
|
|
//
|
|
}
|
|
}
|
|
}
|