using DatenDB; using Deckungsbeitrag.Properties; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Globalization; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using System.Xml.Serialization; namespace Deckungsbeitrag { public partial class FormAusschlager : Form { public Maschine maschine; public List fachliste; bool maximised = false; int height; Point loc; public bool ws1transport = false; public bool ws2transport = false; public FormAusschlager(Maschine ms) { maschine = ms; InitializeComponent(); } public FormAusschlager(Maschine ms, Screen[] screens) :this(ms) { //maschine = ms; if (maschine.TrocknerKaputt == true) maschine.Faecher = maschine.Faecher - 1; //Wenn Trockner kaputt wird Fachanzahl um 1 reduziert. if (screens.Length > 1) { if (WindowState == FormWindowState.Maximized) { WindowState = FormWindowState.Normal; maximised = true; } foreach (Screen screen in screens) if (screen.Primary == false) { this.Location = screen.WorkingArea.Location; } if (maximised) { WindowState = FormWindowState.Maximized; } } //Wenn nur ein Screen vorhanden wird alles auf eine Screen gelegt. Wenn mehrere Screens muss Zuordnung getroffen werden. } private void FormAusschlager_Load(object sender, EventArgs e) { height = (this.Height / maschine.Faecher) - 1; //Label Height wird berechnet anhand Screen Height und Mschinenfächer. loc = new Point(this.Width / 2 - 250, 10); //Die Location des ersten KundenLabels wird berechnet. for (int i = 1; i <= maschine.Faecher; i++) { Funktionen funk = new Funktionen(); this.Controls.AddRange(funk.GetFachLabels(i, maschine, height, loc, this.Width, "Ausschlager")); } //Label für neuen Screen von Funktionen holen. } public void Form_Refresh(Maschine ms, SPSDaten spsdaten) { this.SuspendLayout(); foreach (Label lbl in this.Controls) { if (spsdaten.WS_1_Transport || spsdaten.WS_2_Transport) { Call_Funktionen(lbl, ms, spsdaten); } else { if (ms.Bezeichnung == "Waschstrasse 1") { if (spsdaten.Presse1_Leer) { if (lbl.Name.Contains("14") || lbl.Name.Contains("15")) Call_Funktionen(lbl, maschine, spsdaten); } //SPS Steuerung hat Presse 1 entladen und auf true geschaltet. if (spsdaten.Trockner11_Beladen || spsdaten.Trockner12_Beladen) { if (lbl.Name.Contains("15") || lbl.Name.Contains("16") || lbl.Name.Contains("17")) Call_Funktionen(lbl, maschine, spsdaten); } //SPS Steuerung hat Trockner beladen und auf true geschaltet. if (spsdaten.Trockner11_Entladen || spsdaten.Trockner12_Entladen) { if (lbl.Name.Contains("18") || lbl.Name.Contains("16") || lbl.Name.Contains("17")) Call_Funktionen(lbl, maschine, spsdaten); } //SPS Steuerung hat Trockner entladen und auf true geschaltet. } if (ms.Bezeichnung == "Waschstrasse 2") { if (spsdaten.Presse2_Leer) { if (lbl.Name.Contains("17") || lbl.Name.Contains("18")) Call_Funktionen(lbl, maschine, spsdaten); } //SPS Steuerung hat Presse 2 entladen und auf true geschaltet. if (spsdaten.Trockner21_Beladen || spsdaten.Trockner22_Beladen) { if (lbl.Name.Contains("18") || lbl.Name.Contains("19") || lbl.Name.Contains("20")) Call_Funktionen(lbl, maschine, spsdaten); } //SPS Steuerung hat Trockner beladen und auf true geschaltet. if (spsdaten.Trockner21_Entladen || spsdaten.Trockner22_Entladen) { if (lbl.Name.Contains("21") || lbl.Name.Contains("19") || lbl.Name.Contains("20")) Call_Funktionen(lbl, maschine, spsdaten); } //SPS Steuerung hat Trockner entladen und auf true geschalltet. } } } //this.Refresh(); this.ResumeLayout(); } private void Call_Funktionen(Label lbl, Maschine maschine, SPSDaten spsdaten) { Funktionen.Label_Refresh(lbl, maschine, spsdaten, "Ausschlager"); } private void FormAusschlager_SizeChanged(object sender, EventArgs e) { if(WindowState == FormWindowState.Maximized) { this.Controls.Clear(); FormAusschlager_Load(this, null); } } private void FormAusschlager_ResizeEnd(object sender, EventArgs e) { this.Controls.Clear(); FormAusschlager_Load(this, null); } } }