diff --git a/Daten/Construction.png b/Daten/Construction.png
new file mode 100644
index 0000000..1d4b1d0
Binary files /dev/null and b/Daten/Construction.png differ
diff --git a/Daten/Email.png b/Daten/Email.png
new file mode 100644
index 0000000..ec32fd8
Binary files /dev/null and b/Daten/Email.png differ
diff --git a/Daten/Error.png b/Daten/Error.png
new file mode 100644
index 0000000..4248432
Binary files /dev/null and b/Daten/Error.png differ
diff --git a/Daten/Information.png b/Daten/Information.png
new file mode 100644
index 0000000..6c532b2
Binary files /dev/null and b/Daten/Information.png differ
diff --git a/Daten/Instruction.png b/Daten/Instruction.png
new file mode 100644
index 0000000..79f1c8d
Binary files /dev/null and b/Daten/Instruction.png differ
diff --git a/Daten/Question.png b/Daten/Question.png
new file mode 100644
index 0000000..22ccc4f
Binary files /dev/null and b/Daten/Question.png differ
diff --git a/Daten/Telephone.png b/Daten/Telephone.png
new file mode 100644
index 0000000..7aadfda
Binary files /dev/null and b/Daten/Telephone.png differ
diff --git a/Daten/Tips.png b/Daten/Tips.png
new file mode 100644
index 0000000..73a3cc0
Binary files /dev/null and b/Daten/Tips.png differ
diff --git a/Daten/Warning.png b/Daten/Warning.png
new file mode 100644
index 0000000..82772fe
Binary files /dev/null and b/Daten/Warning.png differ
diff --git a/Info.sln b/ExtendedInfoBox.sln
similarity index 86%
rename from Info.sln
rename to ExtendedInfoBox.sln
index d347696..1e4fc75 100644
--- a/Info.sln
+++ b/ExtendedInfoBox.sln
@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.645
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Info", "Info\Info.csproj", "{E23AFF77-EBF4-4966-B3E4-A49FC6CE92C7}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtendedInfoBox", "ExtendedInfoBox\ExtendedInfoBox.csproj", "{E23AFF77-EBF4-4966-B3E4-A49FC6CE92C7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/ExtendedInfoBox/ExtendedInfoBox.Designer.cs b/ExtendedInfoBox/ExtendedInfoBox.Designer.cs
new file mode 100644
index 0000000..9a5d2e4
--- /dev/null
+++ b/ExtendedInfoBox/ExtendedInfoBox.Designer.cs
@@ -0,0 +1,241 @@
+namespace Eugen.ESystem.Windows.Forms
+{
+ partial class ExtendedInfoBox
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ExtendedInfoBox));
+ this.pictureBox = new System.Windows.Forms.PictureBox();
+ this.labelTitle = new System.Windows.Forms.Label();
+ this.labelHeaderRow1 = new System.Windows.Forms.Label();
+ this.labelHeaderRow2 = new System.Windows.Forms.Label();
+ this.labelHeaderRow3 = new System.Windows.Forms.Label();
+ this.textBox = new System.Windows.Forms.TextBox();
+ this.buttonClose1 = new System.Windows.Forms.Button();
+ this.buttonClose2 = new System.Windows.Forms.Button();
+ this.buttonExport = new System.Windows.Forms.Button();
+ this.saveFileDialog = new System.Windows.Forms.SaveFileDialog();
+ this.groupBoxFindReplace = new System.Windows.Forms.GroupBox();
+ this.groupBoxReplace = new System.Windows.Forms.GroupBox();
+ this.buttonReplaceAll = new System.Windows.Forms.Button();
+ this.buttonReplace = new System.Windows.Forms.Button();
+ this.textBoxReplace = new System.Windows.Forms.TextBox();
+ this.groupBoxFind = new System.Windows.Forms.GroupBox();
+ this.checkBoxCaseSensitive = new System.Windows.Forms.CheckBox();
+ this.buttonNext = new System.Windows.Forms.Button();
+ this.buttonPrevious = new System.Windows.Forms.Button();
+ this.textBoxFind = new System.Windows.Forms.TextBox();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit();
+ this.groupBoxFindReplace.SuspendLayout();
+ this.groupBoxReplace.SuspendLayout();
+ this.groupBoxFind.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // pictureBox
+ //
+ resources.ApplyResources(this.pictureBox, "pictureBox");
+ this.pictureBox.Image = global::Eugen.ESystem.Windows.Forms.Pictures.Information;
+ this.pictureBox.Name = "pictureBox";
+ this.pictureBox.TabStop = false;
+ //
+ // labelTitle
+ //
+ resources.ApplyResources(this.labelTitle, "labelTitle");
+ this.labelTitle.Name = "labelTitle";
+ //
+ // labelHeaderRow1
+ //
+ resources.ApplyResources(this.labelHeaderRow1, "labelHeaderRow1");
+ this.labelHeaderRow1.Name = "labelHeaderRow1";
+ //
+ // labelHeaderRow2
+ //
+ resources.ApplyResources(this.labelHeaderRow2, "labelHeaderRow2");
+ this.labelHeaderRow2.Name = "labelHeaderRow2";
+ //
+ // labelHeaderRow3
+ //
+ resources.ApplyResources(this.labelHeaderRow3, "labelHeaderRow3");
+ this.labelHeaderRow3.Name = "labelHeaderRow3";
+ //
+ // textBox
+ //
+ resources.ApplyResources(this.textBox, "textBox");
+ this.textBox.Name = "textBox";
+ //
+ // buttonClose1
+ //
+ resources.ApplyResources(this.buttonClose1, "buttonClose1");
+ this.buttonClose1.Name = "buttonClose1";
+ this.buttonClose1.UseVisualStyleBackColor = true;
+ this.buttonClose1.Click += new System.EventHandler(this.buttonClose1_Click);
+ //
+ // buttonClose2
+ //
+ resources.ApplyResources(this.buttonClose2, "buttonClose2");
+ this.buttonClose2.Name = "buttonClose2";
+ this.buttonClose2.UseVisualStyleBackColor = true;
+ this.buttonClose2.Click += new System.EventHandler(this.buttonClose2_Click);
+ //
+ // buttonExport
+ //
+ resources.ApplyResources(this.buttonExport, "buttonExport");
+ this.buttonExport.Name = "buttonExport";
+ this.buttonExport.UseVisualStyleBackColor = true;
+ this.buttonExport.Click += new System.EventHandler(this.buttonExport_Click);
+ //
+ // saveFileDialog
+ //
+ resources.ApplyResources(this.saveFileDialog, "saveFileDialog");
+ this.saveFileDialog.FileOk += new System.ComponentModel.CancelEventHandler(this.saveFileDialog_FileOk);
+ //
+ // groupBoxFindReplace
+ //
+ resources.ApplyResources(this.groupBoxFindReplace, "groupBoxFindReplace");
+ this.groupBoxFindReplace.Controls.Add(this.groupBoxReplace);
+ this.groupBoxFindReplace.Controls.Add(this.groupBoxFind);
+ this.groupBoxFindReplace.Name = "groupBoxFindReplace";
+ this.groupBoxFindReplace.TabStop = false;
+ //
+ // groupBoxReplace
+ //
+ resources.ApplyResources(this.groupBoxReplace, "groupBoxReplace");
+ this.groupBoxReplace.Controls.Add(this.buttonReplaceAll);
+ this.groupBoxReplace.Controls.Add(this.buttonReplace);
+ this.groupBoxReplace.Controls.Add(this.textBoxReplace);
+ this.groupBoxReplace.Name = "groupBoxReplace";
+ this.groupBoxReplace.TabStop = false;
+ //
+ // buttonReplaceAll
+ //
+ resources.ApplyResources(this.buttonReplaceAll, "buttonReplaceAll");
+ this.buttonReplaceAll.Name = "buttonReplaceAll";
+ this.buttonReplaceAll.UseVisualStyleBackColor = true;
+ this.buttonReplaceAll.Click += new System.EventHandler(this.buttonReplaceAll_Click);
+ //
+ // buttonReplace
+ //
+ resources.ApplyResources(this.buttonReplace, "buttonReplace");
+ this.buttonReplace.Name = "buttonReplace";
+ this.buttonReplace.UseVisualStyleBackColor = true;
+ this.buttonReplace.Click += new System.EventHandler(this.buttonReplace_Click);
+ //
+ // textBoxReplace
+ //
+ resources.ApplyResources(this.textBoxReplace, "textBoxReplace");
+ this.textBoxReplace.Name = "textBoxReplace";
+ this.textBoxReplace.TextChanged += new System.EventHandler(this.textBoxReplace_TextChanged);
+ this.textBoxReplace.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBoxReplace_KeyDown);
+ //
+ // groupBoxFind
+ //
+ resources.ApplyResources(this.groupBoxFind, "groupBoxFind");
+ this.groupBoxFind.Controls.Add(this.checkBoxCaseSensitive);
+ this.groupBoxFind.Controls.Add(this.buttonNext);
+ this.groupBoxFind.Controls.Add(this.buttonPrevious);
+ this.groupBoxFind.Controls.Add(this.textBoxFind);
+ this.groupBoxFind.Name = "groupBoxFind";
+ this.groupBoxFind.TabStop = false;
+ //
+ // checkBoxCaseSensitive
+ //
+ resources.ApplyResources(this.checkBoxCaseSensitive, "checkBoxCaseSensitive");
+ this.checkBoxCaseSensitive.Name = "checkBoxCaseSensitive";
+ this.checkBoxCaseSensitive.UseVisualStyleBackColor = true;
+ this.checkBoxCaseSensitive.CheckedChanged += new System.EventHandler(this.checkBoxCaseSensitive_CheckedChanged);
+ //
+ // buttonNext
+ //
+ resources.ApplyResources(this.buttonNext, "buttonNext");
+ this.buttonNext.Name = "buttonNext";
+ this.buttonNext.UseVisualStyleBackColor = true;
+ this.buttonNext.Click += new System.EventHandler(this.buttonNext_Click);
+ //
+ // buttonPrevious
+ //
+ resources.ApplyResources(this.buttonPrevious, "buttonPrevious");
+ this.buttonPrevious.Name = "buttonPrevious";
+ this.buttonPrevious.UseVisualStyleBackColor = true;
+ this.buttonPrevious.Click += new System.EventHandler(this.buttonPrevious_Click);
+ //
+ // textBoxFind
+ //
+ resources.ApplyResources(this.textBoxFind, "textBoxFind");
+ this.textBoxFind.Name = "textBoxFind";
+ this.textBoxFind.TextChanged += new System.EventHandler(this.textBoxFind_TextChanged);
+ this.textBoxFind.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBoxFind_KeyDown);
+ //
+ // ExtendedInfoBox
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.groupBoxFindReplace);
+ this.Controls.Add(this.buttonExport);
+ this.Controls.Add(this.buttonClose2);
+ this.Controls.Add(this.buttonClose1);
+ this.Controls.Add(this.textBox);
+ this.Controls.Add(this.labelHeaderRow3);
+ this.Controls.Add(this.labelHeaderRow2);
+ this.Controls.Add(this.labelHeaderRow1);
+ this.Controls.Add(this.labelTitle);
+ this.Controls.Add(this.pictureBox);
+ this.Name = "ExtendedInfoBox";
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).EndInit();
+ this.groupBoxFindReplace.ResumeLayout(false);
+ this.groupBoxReplace.ResumeLayout(false);
+ this.groupBoxReplace.PerformLayout();
+ this.groupBoxFind.ResumeLayout(false);
+ this.groupBoxFind.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.PictureBox pictureBox;
+ private System.Windows.Forms.Label labelTitle;
+ private System.Windows.Forms.Label labelHeaderRow1;
+ private System.Windows.Forms.Label labelHeaderRow2;
+ private System.Windows.Forms.Label labelHeaderRow3;
+ private System.Windows.Forms.TextBox textBox;
+ private System.Windows.Forms.Button buttonClose1;
+ private System.Windows.Forms.Button buttonClose2;
+ private System.Windows.Forms.Button buttonExport;
+ private System.Windows.Forms.SaveFileDialog saveFileDialog;
+ private System.Windows.Forms.GroupBox groupBoxFindReplace;
+ private System.Windows.Forms.GroupBox groupBoxReplace;
+ private System.Windows.Forms.Button buttonReplaceAll;
+ private System.Windows.Forms.Button buttonReplace;
+ private System.Windows.Forms.TextBox textBoxReplace;
+ private System.Windows.Forms.GroupBox groupBoxFind;
+ private System.Windows.Forms.CheckBox checkBoxCaseSensitive;
+ private System.Windows.Forms.Button buttonNext;
+ private System.Windows.Forms.Button buttonPrevious;
+ private System.Windows.Forms.TextBox textBoxFind;
+ }
+}
\ No newline at end of file
diff --git a/ExtendedInfoBox/ExtendedInfoBox.cs b/ExtendedInfoBox/ExtendedInfoBox.cs
new file mode 100644
index 0000000..277ae78
--- /dev/null
+++ b/ExtendedInfoBox/ExtendedInfoBox.cs
@@ -0,0 +1,404 @@
+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;
+
+namespace Eugen.ESystem.Windows.Forms
+{
+ public partial class ExtendedInfoBox : Form
+ {
+ public ExtendedInfoBox(string windowTitle, Icons icon, string title, string headerRow1, string headerRow2, string headerRow3, string text, bool export)
+ {
+ InitializeComponent();
+
+ checkBoxCaseSensitive.Checked = false;
+ SetContent(windowTitle, icon, title, headerRow1, headerRow2, headerRow3, text, export); //Fensterinhalt setzen
+ }
+
+ ///
+ /// Available Icons
+ ///
+ public enum Icons
+ {
+ Construction,
+ Email,
+ Error,
+ Information,
+ Instruction,
+ Question,
+ Telephon,
+ Tips,
+ Warning
+ }
+
+ string findText = "";
+ string replaceText = "";
+ List index = new List();
+ int tempIndex = -1;
+
+ private void buttonClose1_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ private void buttonClose2_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ private void buttonExport_Click(object sender, EventArgs e)
+ {
+ //Speichert den Inhalt der TextBox oder den selektierten Bereich daraus
+ saveFileDialog.Filter = Language.dialog001;
+ 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 textBoxFind_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Return)
+ {
+ //Wenn 'Return' gedrückt wird die Anzahl der Vorkommen ermitteln
+ if (checkBoxCaseSensitive.Checked)
+ {
+ index = FindPositionsOfText(findText, textBox.Text);
+ }
+ else
+ {
+ index = FindPositionsOfText(findText.ToLower(), textBox.Text.ToLower());
+ }
+
+ textBox.Focus(); //Den Focus auf die Textbox setzen
+ textBox.Select(index[0], findText.Length); //Das erste Vorkommen selektieren
+ }
+ }
+
+ private void textBoxFind_TextChanged(object sender, EventArgs e)
+ {
+ findText = textBoxFind.Text; //Dieser Text soll gesucht werden
+
+ //Nur ausführen wenn 'findText' nicht "" ist, weil das Programm sonst in einer Endlosschleife hängt
+ if (findText != "")
+ {
+ if (checkBoxCaseSensitive.Checked)
+ {
+ index = FindPositionsOfText(findText, textBox.Text);
+ }
+ else
+ {
+ index = FindPositionsOfText(findText.ToLower(), textBox.Text.ToLower());
+ }
+ }
+ tempIndex = 0; //Wird gesetzt weil 'Return' gedrückt wurde
+
+ try
+ {
+ //Fenster zur selektierten Position scrollen
+ textBox.SelectionStart = index[0];
+ textBox.ScrollToCaret();
+ }
+ catch
+ {
+ textBoxFind.Text = findText.Remove(findText.Length - 1);
+ textBoxFind.Refresh();
+ }
+ }
+
+ private void buttonPrevious_Click(object sender, EventArgs e)
+ {
+ if (tempIndex == -1)
+ {
+ //Wenn bei der nicht 'Return' sondern gleich 'Nächster' gedrückt wurde
+ tempIndex = index.Count - 1;
+ }
+ else
+ {
+ if (tempIndex > 0)
+ {
+ tempIndex--;
+
+ //Fenster zur selektierten Position scrollen
+ textBox.SelectionStart = index[tempIndex];
+ textBox.ScrollToCaret();
+ }
+ else
+ {
+ tempIndex = index.Count - 1;
+ }
+ }
+
+ textBox.Focus();
+ textBox.DeselectAll();
+ if (tempIndex > 0)
+ {
+ textBox.Select(index[tempIndex], findText.Length);
+ }
+ }
+
+ private void buttonNext_Click(object sender, EventArgs e)
+ {
+ if (tempIndex == -1)
+ {
+ //Wenn bei der Eingabe nicht 'Return' sondern gleich 'Nächster' gedrückt wurde
+ tempIndex = 0;
+ }
+ else
+ {
+ if (tempIndex < index.Count - 1)
+ {
+ tempIndex++;
+
+ //Fenster zur selektierten Position scrollen
+ textBox.SelectionStart = index[tempIndex];
+ textBox.ScrollToCaret();
+ }
+ else
+ {
+ tempIndex = 0;
+ }
+ }
+
+ textBox.Focus();
+ textBox.DeselectAll();
+ if (tempIndex > 0)
+ {
+ textBox.Select(index[tempIndex], findText.Length);
+ }
+ }
+
+ private void checkBoxCaseSensitive_CheckedChanged(object sender, EventArgs e)
+ {
+ //Die Anzahl der Vorkommen ermitteln
+ if (checkBoxCaseSensitive.Checked)
+ {
+ index = FindPositionsOfText(findText, textBox.Text);
+ }
+ else
+ {
+ index = FindPositionsOfText(findText.ToLower(), textBox.Text.ToLower());
+ }
+
+ tempIndex = 0; //Zurücksetzen, weil in diesem Fall nicht 'Return' gedrückt wurde
+ }
+
+ private void textBoxReplace_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Return)
+ {
+ //Wenn 'Return' gedrückt wird die Anzahl der Vorkommen ermitteln
+ if (checkBoxCaseSensitive.Checked)
+ {
+ index = FindPositionsOfText(findText, textBox.Text);
+ }
+ else
+ {
+ index = FindPositionsOfText(findText.ToLower(), textBox.Text.ToLower());
+ }
+
+ textBox.Focus(); //Den Focus auf die Textbox setzen
+ textBox.Select(index[0], findText.Length); //Das erste Vorkommen selektieren
+ }
+ }
+
+ private void textBoxReplace_TextChanged(object sender, EventArgs e)
+ {
+ findText = textBoxFind.Text; //Dieser Text soll gesucht werden
+ replaceText = textBoxReplace.Text; //Durch diesen soll ersetzt werden
+
+ if (checkBoxCaseSensitive.Checked)
+ {
+ index = FindPositionsOfText(findText, textBox.Text);
+ }
+ else
+ {
+ index = FindPositionsOfText(findText.ToLower(), textBox.Text.ToLower());
+ }
+ tempIndex = 0; //Wird gesetzt weil 'Return' gedrückt wurde
+ }
+
+ private void buttonReplace_Click(object sender, EventArgs e)
+ {
+ if (index.Count > 0)
+ {
+ //Nur abarbeiten wenn ein Suchtext gefunden wurde
+ textBox.Focus();
+ textBox.DeselectAll();
+ textBox.Select(index[tempIndex], findText.Length);
+ textBox.SelectedText = replaceText;
+
+ if (checkBoxCaseSensitive.Checked)
+ {
+ index = FindPositionsOfText(findText, textBox.Text);
+ }
+ else
+ {
+ index = FindPositionsOfText(findText.ToLower(), textBox.Text.ToLower());
+ }
+ tempIndex = 0;
+
+ textBox.Focus();
+ textBox.DeselectAll();
+ if (index.Count > 0)
+ {
+ //Selektieren nur möglich wenn es noch einen Suchtext gibt
+ textBox.Select(index[tempIndex], findText.Length);
+ }
+ }
+ }
+
+ private void buttonReplaceAll_Click(object sender, EventArgs e)
+ {
+ while (index.Count > 0)
+ {
+ //Nur abarbeiten wenn ein Suchtext gefunden wurde
+ textBox.Focus();
+ textBox.DeselectAll();
+ textBox.Select(index[tempIndex], findText.Length);
+ textBox.SelectedText = replaceText;
+
+ if (checkBoxCaseSensitive.Checked)
+ {
+ index = FindPositionsOfText(findText, textBox.Text);
+ }
+ else
+ {
+ index = FindPositionsOfText(findText.ToLower(), textBox.Text.ToLower());
+ }
+ tempIndex = 0;
+
+ textBox.Focus();
+ textBox.DeselectAll();
+ if (index.Count > 0)
+ {
+ //Selektieren nur möglich wenn es noch einen Suchtext gibt
+ textBox.Select(index[tempIndex], findText.Length);
+ }
+ }
+ }
+
+ private void SetContent(string windowTitle, Icons icon, string title, string headerRow1, string headerRow2, string headerRow3, string text, bool export)
+ {
+ //Export Button freischalten oder nicht
+ if (export)
+ {
+ buttonExport.Visible = true;
+ buttonClose1.Visible = true;
+ buttonClose2.Visible = false;
+ }
+ else
+ {
+ buttonExport.Visible = false;
+ buttonClose1.Visible = false;
+ buttonClose2.Visible = true;
+ }
+
+ //Icon setzen
+ switch (icon)
+ {
+ case Icons.Construction:
+ this.pictureBox.Image = global::Eugen.ESystem.Windows.Forms.Pictures.Construction;
+ break;
+ case Icons.Email:
+ this.pictureBox.Image = global::Eugen.ESystem.Windows.Forms.Pictures.Email;
+ break;
+ case Icons.Error:
+ this.pictureBox.Image = global::Eugen.ESystem.Windows.Forms.Pictures.Error;
+ break;
+ case Icons.Information:
+ this.pictureBox.Image = global::Eugen.ESystem.Windows.Forms.Pictures.Information;
+ break;
+ case Icons.Instruction:
+ this.pictureBox.Image = global::Eugen.ESystem.Windows.Forms.Pictures.Instruction;
+ break;
+ case Icons.Question:
+ this.pictureBox.Image = global::Eugen.ESystem.Windows.Forms.Pictures.Question;
+ break;
+ case Icons.Telephon:
+ this.pictureBox.Image = global::Eugen.ESystem.Windows.Forms.Pictures.Telephone;
+ break;
+ case Icons.Tips:
+ this.pictureBox.Image = global::Eugen.ESystem.Windows.Forms.Pictures.Tips;
+ break;
+ case Icons.Warning:
+ this.pictureBox.Image = global::Eugen.ESystem.Windows.Forms.Pictures.Warning;
+ break;
+ default:
+ this.pictureBox.Image = global::Eugen.ESystem.Windows.Forms.Pictures.Information;
+ break;
+ }
+
+ this.Text = windowTitle; //Fenster Titel
+ labelTitle.Text = title; //Titel schreiben
+ labelHeaderRow1.Text = headerRow1; //Header Zeile 1 schreiben
+ labelHeaderRow2.Text = headerRow2; //Header Zeile 2 schreiben
+ labelHeaderRow3.Text = headerRow3; //Header Zeile 3 schreiben
+ textBox.Text = text; //Text schreiben
+ }
+
+ private string ExportText()
+ {
+ if (textBox.SelectionLength > 0)
+ {
+ return textBox.SelectedText; //Gibt den selektierten Text zurück
+ }
+ else
+ {
+ return FixLineLenght.Format(textBox.Text, 80); //Gibt den ganzen Text formatiert zurück
+ }
+ }
+
+ ///
+ /// Sets a user specific window size.
+ ///
+ /// A value greater than 400.
+ /// A value greater than 300.
+ public void SetSize(int width, int height)
+ {
+ this.ClientSize = new System.Drawing.Size(width - 8, height - 31);
+ }
+
+ private List FindPositionsOfText(string textToFind, string textToSearch)
+ {
+ //Wenn der Suchstring noch leer ist, dann die Methode verlassen, weil sonst endlos gesucht wird
+ if (String.IsNullOrEmpty(textToFind))
+ {
+ return null;
+ }
+
+ List result = new List();
+
+ int lastIndex = 0;
+ while (textToSearch.IndexOf(textToFind, lastIndex) > -1)
+ {
+ result.Add(textToSearch.IndexOf(textToFind, lastIndex));
+ lastIndex = result[result.Count - 1] + textToFind.Length;
+ }
+ return result;
+ }
+ }
+}
diff --git a/ExtendedInfoBox/ExtendedInfoBox.csproj b/ExtendedInfoBox/ExtendedInfoBox.csproj
new file mode 100644
index 0000000..07481fe
--- /dev/null
+++ b/ExtendedInfoBox/ExtendedInfoBox.csproj
@@ -0,0 +1,140 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {E23AFF77-EBF4-4966-B3E4-A49FC6CE92C7}
+ WinExe
+ Properties
+ ExtendedInfoBox
+ ExtendedInfoBox
+ v4.6.1
+ 512
+ false
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ ExtendedInfoBox.cs
+
+
+ Form
+
+
+
+ True
+ True
+ Language.de.resx
+
+
+ True
+ True
+ Language.resx
+
+
+ True
+ True
+ Language.en.resx
+
+
+ True
+ True
+ Pictures.resx
+
+
+
+
+
+
+ ExtendedInfoBox.cs
+
+
+ ExtendedInfoBox.cs
+
+
+
+ Eugen.ESystem.Windows.Forms
+ ResXFileCodeGenerator
+ Language.de.Designer.cs
+
+
+ Eugen.ESystem.Windows.Forms
+ ResXFileCodeGenerator
+ Language.en.Designer.cs
+
+
+ ResXFileCodeGenerator
+ Language.Designer.cs
+ Eugen.ESystem.Windows.Forms
+
+
+ ResXFileCodeGenerator
+ Pictures.Designer.cs
+ Eugen.ESystem.Windows.Forms
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ExtendedInfoBox/ExtendedInfoBox.en.resx b/ExtendedInfoBox/ExtendedInfoBox.en.resx
new file mode 100644
index 0000000..4d55dd9
--- /dev/null
+++ b/ExtendedInfoBox/ExtendedInfoBox.en.resx
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Close
+
+
+ Close
+
+
+ Export
+
+
+ Find/Replace
+
+
+ Replace through
+
+
+ Replace All
+
+
+ Replace
+
+
+ Find
+
+
+
+ 94, 17
+
+
+ Case sensitive
+
+
+ Next
+
+
+ Previous
+
+
\ No newline at end of file
diff --git a/ExtendedInfoBox/ExtendedInfoBox.resx b/ExtendedInfoBox/ExtendedInfoBox.resx
new file mode 100644
index 0000000..c9dd1ba
--- /dev/null
+++ b/ExtendedInfoBox/ExtendedInfoBox.resx
@@ -0,0 +1,636 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ buttonReplaceAll
+
+
+ groupBoxReplace
+
+
+
+ 0
+
+
+ labelHeaderRow1
+
+
+ groupBoxReplace
+
+
+ 4
+
+
+ groupBoxReplace
+
+
+ 3
+
+
+ True
+
+
+
+ Bottom, Right
+
+
+ True
+
+
+ 2
+
+
+ 0
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ 89, 47
+
+
+ Nächster
+
+
+ Ersetzen durch
+
+
+ $this
+
+
+ 6, 20
+
+
+ 4
+
+
+ groupBoxFindReplace
+
+
+ True
+
+
+ 75, 23
+
+
+ 78, 80
+
+
+ 0
+
+
+ groupBoxFind
+
+
+ 7
+
+
+ groupBoxFindReplace
+
+
+ Schliessen
+
+
+ System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 6
+
+
+ 184, 207
+
+
+ 3
+
+
+ 8
+
+
+ groupBoxFindReplace
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
+
+
+ 6, 13
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Groß-/Klein-Schreibung
+
+
+ Suchen
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Alle Ersetzen
+
+
+ 7
+
+
+ 36, 13
+
+
+ 8
+
+
+ 39, 13
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Both
+
+
+ $this
+
+
+ $this
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 172, 99
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 5
+
+
+ 12, 140
+
+
+ 2
+
+
+ 309, 353
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 39, 13
+
+
+ $this
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Voriger
+
+
+ ExtendedInfoBox
+
+
+ groupBoxFind
+
+
+ 0
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 1
+
+
+ Schliessen
+
+
+ labelTitle
+
+
+ groupBoxReplace
+
+
+ 500, 419
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 78, 93
+
+
+ 2
+
+
+ saveFileDialog
+
+
+ $this
+
+
+ 77, 23
+
+
+ 3
+
+
+ $this
+
+
+ 77, 23
+
+
+ $this
+
+
+ $this
+
+
+ 98, 44
+
+
+ Zeile 3
+
+
+ pictureBox
+
+
+ 478, 207
+
+
+ 32, 32
+
+
+ 6
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 78, 106
+
+
+ textBoxReplace
+
+
+ 605, 353
+
+
+ WindowTitle
+
+
+ 160, 20
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 160, 20
+
+
+ Title
+
+
+ Top, Bottom, Left, Right
+
+
+ buttonExport
+
+
+ 1
+
+
+ 75, 23
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 75, 23
+
+
+ 1
+
+
+ Top, Right
+
+
+ 6, 46
+
+
+ textBox
+
+
+ groupBoxFind
+
+
+ 1
+
+
+ 6, 20
+
+
+ 70, 15
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ groupBoxFind
+
+
+ 5
+
+
+ 0
+
+
+ System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
+
+
+ 1
+
+
+ 2
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 172, 75
+
+
+ 12, 353
+
+
+ 1
+
+
+ True
+
+
+ 6, 47
+
+
+ Suchen/Ersetzen
+
+
+ Ersetzen
+
+
+ buttonReplace
+
+
+ 1
+
+
+ System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 6, 76
+
+
+ buttonNext
+
+
+ Zeile1
+
+
+ Zeile 2
+
+
+ textBoxFind
+
+
+ 496, 140
+
+
+ checkBoxCaseSensitive
+
+
+ Microsoft Sans Serif, 28pt, style=Bold
+
+
+ labelHeaderRow3
+
+
+ 692, 388
+
+
+ 1
+
+
+ 137, 17
+
+
+ 1
+
+
+ 77, 23
+
+
+ 0
+
+
+ 6, 126
+
+
+ 0
+
+
+ buttonPrevious
+
+
+ 20, 20
+
+
+ 0
+
+
+ 89, 46
+
+
+ 3
+
+
+ 77, 23
+
+
+ labelHeaderRow2
+
+
+ Bottom
+
+
+ 6, 19
+
+
+ buttonClose2
+
+
+ Exportieren
+
+
+ 2
+
+
+ 2
+
+
+ $this
+
+
+ groupBoxFind
+
+
+ 9
+
+
+ buttonClose1
+
+
+ Bottom, Left
+
+
+ True
+
+
+ 17, 17
+
+
\ No newline at end of file
diff --git a/ExtendedInfoBox/FixLineLenght.cs b/ExtendedInfoBox/FixLineLenght.cs
new file mode 100644
index 0000000..e7391ee
--- /dev/null
+++ b/ExtendedInfoBox/FixLineLenght.cs
@@ -0,0 +1,75 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Eugen.ESystem.Windows.Forms
+{
+ public static class FixLineLenght
+ {
+ ///
+ /// Formats a string with a fixed line length.
+ ///
+ static FixLineLenght()
+ {
+ }
+
+ ///
+ /// Formats a string with a fixed line length.
+ ///
+ /// String to be formatted.
+ /// Maximum line length
+ ///
+ public static string Format(string text, int lineLenght)
+ {
+ int pos = 0;
+ int spacePos = 0;
+ string character = "";
+ string temp = "";
+ string result = "";
+
+ while (text.Length > 0)
+ {
+ if (text.Length <= lineLenght)
+ {
+ result = String.Concat(result, text);
+ text = "";
+ }
+ else
+ {
+ while (pos <= lineLenght)
+ {
+ character = text.Remove(0, pos).Remove(1);
+
+ //Bei einem Zeilenumbruch oder Wagenrücklauf eine neu Zeile beginnen
+ if (character == "\n" || character == "\r")
+ {
+ spacePos = text.IndexOf("\n") + 1;
+ break;
+ }
+
+ if (character == " ")
+ {
+ spacePos = pos + 1;
+ }
+
+ pos++;
+ }
+
+ temp = text.Remove(spacePos - 1);
+ if (temp.EndsWith("\n") || temp.EndsWith("\r"))
+ {
+ temp = temp.Remove(temp.Length - 1);// Ein schon enthaltenes '\n' oder '\r' am Ende de temporären Strings muss entfernt werden
+ }
+ text = text.Remove(0, spacePos);
+ result = String.Concat(result, temp, "\r\n");
+ pos = 0;
+ spacePos = 0;
+ }
+ }
+
+ return result;
+ }
+ }
+}
diff --git a/ExtendedInfoBox/Form1.Designer.cs b/ExtendedInfoBox/Form1.Designer.cs
new file mode 100644
index 0000000..1c76c6c
--- /dev/null
+++ b/ExtendedInfoBox/Form1.Designer.cs
@@ -0,0 +1,63 @@
+namespace Test_Info
+{
+ partial class Form1
+ {
+ ///
+ /// Erforderliche Designervariable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Verwendete Ressourcen bereinigen.
+ ///
+ /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Vom Windows Form-Designer generierter Code
+
+ ///
+ /// Erforderliche Methode für die Designerunterstützung.
+ /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
+ ///
+ private void InitializeComponent()
+ {
+ this.buttonShowInfo = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // buttonShowInfo
+ //
+ this.buttonShowInfo.Location = new System.Drawing.Point(13, 234);
+ this.buttonShowInfo.Name = "buttonShowInfo";
+ this.buttonShowInfo.Size = new System.Drawing.Size(367, 23);
+ this.buttonShowInfo.TabIndex = 0;
+ this.buttonShowInfo.Text = "Show Information";
+ this.buttonShowInfo.UseVisualStyleBackColor = true;
+ this.buttonShowInfo.Click += new System.EventHandler(this.buttonShowInfo_Click);
+ //
+ //
+ // Form1
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(392, 269);
+ this.Controls.Add(this.buttonShowInfo);
+ this.Name = "Form1";
+ this.Text = "Form1";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button buttonShowInfo;
+ }
+}
+
diff --git a/ExtendedInfoBox/Form1.cs b/ExtendedInfoBox/Form1.cs
new file mode 100644
index 0000000..49e6ba8
--- /dev/null
+++ b/ExtendedInfoBox/Form1.cs
@@ -0,0 +1,42 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using Eugen.ESystem.Windows.Forms;
+
+namespace Test_Info
+{
+ public partial class Form1 : Form
+ {
+ private Button button1;
+
+ public Form1()
+ {
+ InitializeComponent();
+ }
+
+ 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 extInfo = new ExtendedInfoBox("Meine Info", ExtendedInfoBox.Icons.Information, "Gesamte Information", "Text selektieren, ist umformatiert exportieren", "Text nicht selektieren, ist formatiert exportiern", "Entscheiden Sie.", text, true);
+ extInfo.ShowDialog();
+ //
+ //
+ }
+
+ private void button1_Click(object sender, EventArgs e)
+ {
+
+ }
+ }
+}
diff --git a/ExtendedInfoBox/Form1.resx b/ExtendedInfoBox/Form1.resx
new file mode 100644
index 0000000..ce5d224
--- /dev/null
+++ b/ExtendedInfoBox/Form1.resx
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ 13, 234
+
+
+ 267, 23
+
+
+
+ 0
+
+
+ Show Infobox
+
+
+ button1
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
+
+ True
+
+
+ 292, 269
+
+
+ Form1
+
+
+ System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/ExtendedInfoBox/Language.Designer.cs b/ExtendedInfoBox/Language.Designer.cs
new file mode 100644
index 0000000..2b67d3d
--- /dev/null
+++ b/ExtendedInfoBox/Language.Designer.cs
@@ -0,0 +1,90 @@
+//------------------------------------------------------------------------------
+//
+// Dieser Code wurde von einem Tool generiert.
+// Laufzeitversion:4.0.30319.42000
+//
+// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+// der Code erneut generiert wird.
+//
+//------------------------------------------------------------------------------
+
+namespace Eugen.ESystem.Windows.Forms {
+ using System;
+
+
+ ///
+ /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
+ ///
+ // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
+ // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
+ // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
+ // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Language {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Language() {
+ }
+
+ ///
+ /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ExtendedInfoBox.Language", typeof(Language).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
+ /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Text-Datei (*.txt)|*.txt|Alle Dateien (*.*)|*.* ähnelt.
+ ///
+ internal static string dialog001 {
+ get {
+ return ResourceManager.GetString("dialog001", resourceCulture);
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Datei konnte nicht gespeichert werden. ähnelt.
+ ///
+ internal static string message001 {
+ get {
+ return ResourceManager.GetString("message001", resourceCulture);
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Fehler ähnelt.
+ ///
+ internal static string messageHead001 {
+ get {
+ return ResourceManager.GetString("messageHead001", resourceCulture);
+ }
+ }
+ }
+}
diff --git a/ExtendedInfoBox/Language.de.Designer.cs b/ExtendedInfoBox/Language.de.Designer.cs
new file mode 100644
index 0000000..e69de29
diff --git a/ExtendedInfoBox/Language.de.resx b/ExtendedInfoBox/Language.de.resx
new file mode 100644
index 0000000..e702524
--- /dev/null
+++ b/ExtendedInfoBox/Language.de.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Text-Datei (*.txt)|*.txt|Alle Dateien (*.*)|*.*
+
+
+ Datei konnte nicht gespeichert werden.
+
+
+ Fehler
+
+
\ No newline at end of file
diff --git a/ExtendedInfoBox/Language.en.Designer.cs b/ExtendedInfoBox/Language.en.Designer.cs
new file mode 100644
index 0000000..e69de29
diff --git a/ExtendedInfoBox/Language.en.resx b/ExtendedInfoBox/Language.en.resx
new file mode 100644
index 0000000..794d239
--- /dev/null
+++ b/ExtendedInfoBox/Language.en.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Text-File (*.txt)|*.txt|All Files (*.*)|*.*
+
+
+ File could not be saved.
+
+
+ Error
+
+
\ No newline at end of file
diff --git a/ExtendedInfoBox/Language.resx b/ExtendedInfoBox/Language.resx
new file mode 100644
index 0000000..e702524
--- /dev/null
+++ b/ExtendedInfoBox/Language.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Text-Datei (*.txt)|*.txt|Alle Dateien (*.*)|*.*
+
+
+ Datei konnte nicht gespeichert werden.
+
+
+ Fehler
+
+
\ No newline at end of file
diff --git a/ExtendedInfoBox/Pictures.Designer.cs b/ExtendedInfoBox/Pictures.Designer.cs
new file mode 100644
index 0000000..75769e5
--- /dev/null
+++ b/ExtendedInfoBox/Pictures.Designer.cs
@@ -0,0 +1,153 @@
+//------------------------------------------------------------------------------
+//
+// Dieser Code wurde von einem Tool generiert.
+// Laufzeitversion:4.0.30319.42000
+//
+// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+// der Code erneut generiert wird.
+//
+//------------------------------------------------------------------------------
+
+namespace Eugen.ESystem.Windows.Forms {
+ using System;
+
+
+ ///
+ /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
+ ///
+ // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
+ // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
+ // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
+ // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Pictures {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Pictures() {
+ }
+
+ ///
+ /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ExtendedInfoBox.Pictures", typeof(Pictures).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
+ /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap Construction {
+ get {
+ object obj = ResourceManager.GetObject("Construction", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap Email {
+ get {
+ object obj = ResourceManager.GetObject("Email", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap Error {
+ get {
+ object obj = ResourceManager.GetObject("Error", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap Information {
+ get {
+ object obj = ResourceManager.GetObject("Information", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap Instruction {
+ get {
+ object obj = ResourceManager.GetObject("Instruction", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap Question {
+ get {
+ object obj = ResourceManager.GetObject("Question", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap Telephone {
+ get {
+ object obj = ResourceManager.GetObject("Telephone", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap Tips {
+ get {
+ object obj = ResourceManager.GetObject("Tips", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap Warning {
+ get {
+ object obj = ResourceManager.GetObject("Warning", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+ }
+}
diff --git a/ExtendedInfoBox/Pictures.resx b/ExtendedInfoBox/Pictures.resx
new file mode 100644
index 0000000..20a1758
--- /dev/null
+++ b/ExtendedInfoBox/Pictures.resx
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ Resources\Construction.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Resources\Email.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Resources\Error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Resources\Information.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Resources\Instruction.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Resources\Question.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Resources\Telephone.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Resources\Tips.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Resources\Warning.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/ExtendedInfoBox/Program.cs b/ExtendedInfoBox/Program.cs
new file mode 100644
index 0000000..59668e2
--- /dev/null
+++ b/ExtendedInfoBox/Program.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace Test_Info
+{
+ static class Program
+ {
+ ///
+ /// Der Haupteinstiegspunkt für die Anwendung.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new Form1());
+ }
+ }
+}
diff --git a/Info/Properties/AssemblyInfo.cs b/ExtendedInfoBox/Properties/AssemblyInfo.cs
similarity index 89%
rename from Info/Properties/AssemblyInfo.cs
rename to ExtendedInfoBox/Properties/AssemblyInfo.cs
index cf700fa..5b8428e 100644
--- a/Info/Properties/AssemblyInfo.cs
+++ b/ExtendedInfoBox/Properties/AssemblyInfo.cs
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Info")]
-[assembly: AssemblyCopyright("Copyright © 2019")]
+[assembly: AssemblyCopyright("Copyright © 2019 by Eugen Höglinger")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("1.0.*")]
+//[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/ExtendedInfoBox/Resources/Construction.png b/ExtendedInfoBox/Resources/Construction.png
new file mode 100644
index 0000000..1d4b1d0
Binary files /dev/null and b/ExtendedInfoBox/Resources/Construction.png differ
diff --git a/ExtendedInfoBox/Resources/Email.png b/ExtendedInfoBox/Resources/Email.png
new file mode 100644
index 0000000..ec32fd8
Binary files /dev/null and b/ExtendedInfoBox/Resources/Email.png differ
diff --git a/ExtendedInfoBox/Resources/Error.png b/ExtendedInfoBox/Resources/Error.png
new file mode 100644
index 0000000..4248432
Binary files /dev/null and b/ExtendedInfoBox/Resources/Error.png differ
diff --git a/ExtendedInfoBox/Resources/Information.png b/ExtendedInfoBox/Resources/Information.png
new file mode 100644
index 0000000..6c532b2
Binary files /dev/null and b/ExtendedInfoBox/Resources/Information.png differ
diff --git a/ExtendedInfoBox/Resources/Instruction.png b/ExtendedInfoBox/Resources/Instruction.png
new file mode 100644
index 0000000..79f1c8d
Binary files /dev/null and b/ExtendedInfoBox/Resources/Instruction.png differ
diff --git a/ExtendedInfoBox/Resources/Question.png b/ExtendedInfoBox/Resources/Question.png
new file mode 100644
index 0000000..22ccc4f
Binary files /dev/null and b/ExtendedInfoBox/Resources/Question.png differ
diff --git a/ExtendedInfoBox/Resources/Telephone.png b/ExtendedInfoBox/Resources/Telephone.png
new file mode 100644
index 0000000..7aadfda
Binary files /dev/null and b/ExtendedInfoBox/Resources/Telephone.png differ
diff --git a/ExtendedInfoBox/Resources/Tips.png b/ExtendedInfoBox/Resources/Tips.png
new file mode 100644
index 0000000..73a3cc0
Binary files /dev/null and b/ExtendedInfoBox/Resources/Tips.png differ
diff --git a/ExtendedInfoBox/Resources/Warning.png b/ExtendedInfoBox/Resources/Warning.png
new file mode 100644
index 0000000..82772fe
Binary files /dev/null and b/ExtendedInfoBox/Resources/Warning.png differ
diff --git a/Info/Class1.cs b/Info/Class1.cs
deleted file mode 100644
index f570702..0000000
--- a/Info/Class1.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Info
-{
- public class Class1
- {
- }
-}
diff --git a/Info/Info.csproj b/Info/Info.csproj
deleted file mode 100644
index d49035a..0000000
--- a/Info/Info.csproj
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- e23aff77-ebf4-4966-b3e4-a49fc6ce92c7
- Library
- Properties
- Info
- Info
- v4.6.1
- 512
- true
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-