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 Test_Form { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //Anfängliche Fensteraussehen initialisieren string btnLeft = "Left"; string btnCenter = "Center"; string btnRight = "Right"; SetWindowAppearance(Window.Size.Micro, Window.ControlBox.On, Window.BorderStyle.Sizeable, Window.TopMost.Off, btnLeft, btnCenter, btnRight); //Anfängliches Icon initialisieren SetIconImage(Icons.Icon.Information); } /// /// Stores the current window size. /// private Window.Size CurrentWindowsSize { set; get; } //Speichert die aktuelle Fenstergröße /// /// Stores the current control box setting. /// private Window.ControlBox CurrentControlBox { set; get; } //Speichert die aktuelle ControllBox Einstellung /// /// Stores the current border sizeable setting. /// private Window.BorderStyle CurrentBorderStyle { set; get; } //Speichert die Größen-Einstellbarkeit /// /// Stores the windows most on top setting. /// private Window.TopMost CurrentTopMost { set; get; } //Speichert die Fenster meistens oben Einstellung /// /// Stores the current icon image /// private Bitmap CurrentIconImage { set; get; } //Speichert das aktuelle Icon /// /// Sets the appearance of the window. /// /// A valid window size. Possible options are: 'Nano' (360x270), 'Micro' (480x360), 'Mini' (640x480), 'Midi' (850x640), 'Maxi' (1020x770) and 'Magnum' (1360x1020). /// A valid control box status value. Possible options are: 'Off' and 'On'. private void SetWindowAppearance(Window.Size winSize, Window.ControlBox ctrlBox, Window.BorderStyle borderStyle, Window.TopMost topMost, string btnLeft, string btnCenter, string btnRight) { var window = new Window(); //Fenstergröße setzen window.SetWindowSize(winSize); this.Size = new Size(window.CurrentWindowSizeValue[0], window.CurrentWindowSizeValue[1]); CurrentWindowsSize = winSize; //Control Box setzen CurrentControlBox = window.SetControlBox(ctrlBox); this.ControlBox = Convert.ToBoolean(CurrentControlBox); //Border Style setzen CurrentBorderStyle = window.SetBorderStyle(borderStyle); this.FormBorderStyle = (FormBorderStyle)CurrentBorderStyle; //Fenster immer oben auf CurrentTopMost = window.SetTopMost(topMost); this.TopMost = Convert.ToBoolean(CurrentTopMost); //Button links if (btnLeft == "") { buttonLeft.Enabled = false; buttonLeft.Visible = false; } else { buttonLeft.Enabled = true; buttonLeft.Visible = true; buttonLeft.Text = btnLeft; } //Button mitte if (btnCenter == "") { buttonCenter.Enabled = false; buttonCenter.Visible = false; } else { int x = (int) window.CurrentWindowSizeValue[0] / 2 - 41; int y = window.CurrentWindowSizeValue[1] - 66; buttonCenter.Location = new System.Drawing.Point(x, y); buttonCenter.Enabled = true; buttonCenter.Visible = true; buttonCenter.Text = btnCenter; } //Button rechts if (btnRight == "") { buttonRight.Enabled = false; buttonRight.Visible = false; } else { buttonRight.Enabled = true; buttonRight.Visible = true; buttonRight.Text = btnRight; } } /// /// Sets one of ten different Icons. /// /// A valid icon. Possible options are: 'Construction', 'Email', 'Error', 'FatalError', 'Information', 'Instruction', 'Question', 'Telephone', 'Tips', 'Warning'. private void SetIconImage(Icons.Icon icon) { var icons = new Icons(); Bitmap bmp = icons.SetIcon(icon); pictureBoxIcon.Image = bmp; CurrentIconImage = bmp; } private void buttonChangeSize_Click(object sender, EventArgs e) { //Die Tasten-Texte definieren string btnLeft = "Change Size"; string btnCenter = "Center"; string btnRight = "Right"; //Alle möglichen Auflösungen der Reihe nach durchschalten if (CurrentWindowsSize == Window.Size.Nano) { SetWindowAppearance(Window.Size.Micro, CurrentControlBox, CurrentBorderStyle, CurrentTopMost, btnLeft, btnCenter, btnRight); } else if (CurrentWindowsSize == Window.Size.Micro) { SetWindowAppearance(Window.Size.Mini, CurrentControlBox, CurrentBorderStyle, CurrentTopMost, btnLeft, btnCenter, btnRight); } else if (CurrentWindowsSize == Window.Size.Mini) { SetWindowAppearance(Window.Size.Midi, CurrentControlBox, CurrentBorderStyle, CurrentTopMost, btnLeft, btnCenter, btnRight); } else if (CurrentWindowsSize == Window.Size.Midi) { SetWindowAppearance(Window.Size.Maxi, CurrentControlBox, CurrentBorderStyle, CurrentTopMost, btnLeft, btnCenter, btnRight); } else if (CurrentWindowsSize == Window.Size.Maxi) { SetWindowAppearance(Window.Size.Magnum, CurrentControlBox, CurrentBorderStyle, CurrentTopMost, btnLeft, btnCenter, btnRight); } else { SetWindowAppearance(Window.Size.Nano, CurrentControlBox, CurrentBorderStyle, CurrentTopMost, btnLeft, btnCenter, btnRight); } } private void buttonCenter_Click(object sender, EventArgs e) { } private void buttonRight_Click(object sender, EventArgs e) { } } }