Programm_Wirl/FormAusschlager.cs
2025-04-28 08:31:23 +02:00

131 lines
4.8 KiB
C#

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<Fach> 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);
}
}
}