about_snippets_visualstudio/About/About.cs

111 lines
3.7 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.Resources;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Eugen.ESystem.Windows.Forms
{
public partial class About : Form
{
public About(string programName, string programVersion, string programCopyright)
{
InitializeComponent();
SetContent(programName, programVersion, programCopyright); //Fensterinhalt setzen
}
protected string ProgramName { private set; get; }
protected string ProgramVersion { private set; get; }
protected string ProgramCopyright { private set; get; }
private void buttonClose_Click(object sender, EventArgs e)
{
this.Close(); //Das Fenster schliessen
}
private void buttonExport_Click(object sender, EventArgs e)
{
//Speichert den Inhalt der TextBox oder den selektierten Bereich daraus
saveFileDialog.Filter = "Text-Datei (*.txt)|*.txt|Alle Dateien (*.*)|*.*";
saveFileDialog.ShowDialog();
}
private void saveFileDialog_FileOk(object sender, CancelEventArgs e)
{
string fileName = saveFileDialog.FileName;
string text = ExportText();
try
{
File.WriteAllText(fileName, text); //Schreibt den Text in eine Datei
}
catch (Exception)
{
MessageBox.Show(Language.message001,
Language.messagehead001,
MessageBoxButtons.OK,
MessageBoxIcon.Error,
MessageBoxDefaultButton.Button1);
}
}
private void SetContent(string programName, string programVersion, string programCopyright)
{
labelProgramName.Text = programName;
ProgramName = programName;
if (programVersion.StartsWith("V"))
{
labelVersion.Text = programVersion;
ProgramVersion = programVersion;
}
else
{
labelVersion.Text = String.Concat("Version ", programVersion);
ProgramVersion = labelVersion.Text;
}
labelCopyright.Text = programCopyright;
ProgramCopyright = programCopyright;
}
private void SaveFileDialogFileOk(object sender, System.ComponentModel.CancelEventArgs e)
{
string fileName = saveFileDialog.FileName;
string text = ExportText();
try
{
File.WriteAllText(fileName, text); //Schreibt den Text in eine Datei
}
catch (Exception)
{
MessageBox.Show(Language.message001,
Language.messagehead001,
MessageBoxButtons.OK,
MessageBoxIcon.Error,
MessageBoxDefaultButton.Button1);
}
}
private string ExportText()
{
if (textBox.SelectionLength > 0)
{
return textBox.SelectedText; //Gibt den selektierten Text zurück
}
else
{
return String.Concat(ProgramName, "\r\n", ProgramVersion, "\r\n", ProgramCopyright, "\r\n--------------------------------------------------------------------------------\r\n", FixLineLenght.Format(textBox.Text, 80)); //Gibt den ganzen Text zurück
}
}
}
}