using DatenDB; 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; namespace Deckungsbeitrag.UserControls { public partial class KundenControl : UserControl { //private Label lblKunde; //private Label lblRegion; //private FlowLayoutPanel flp; // ← Field deklarieren! private Kunde kunde; public string KundenName { get => lblKunde.Text; set => lblKunde.Text = value; } public string KundenRegion { get => lblRegion.Text; set => lblRegion.Text = value; } public string ContainerAnzahl { get => lblCont.Text; set => lblCont.Text = value; } public int[] ContAnzahl = new int[3]; public KundenControl() { InitializeComponent(); SetupControl(); } public KundenControl(Kunde kunde) : this() { KundenName = kunde.Suchtext == string.Empty ? kunde.KundeName : kunde.Suchtext; KundenRegion = kunde.Region; ContAnzahl = Auftrag.GetContainerAnzahlen(kunde.KundeID); // Sobald die Containeranzahlen angezeigt werden können. ContainerAnzahl = $"{ContAnzahl[0]}/{ContAnzahl[1]}/{ContAnzahl[2]}"; } private void SetupControl() { // ★★★ MOUSE-EVENTS DURCHREICHEN zu EINEM Handler ★★★ this.MouseDown += KundenControl_MouseDown; lblKunde.MouseDown += KundenControl_MouseDown; lblRegion.MouseDown += KundenControl_MouseDown; } private void KundenControl_MouseDown(object sender, MouseEventArgs e) { Control ctr = sender as Control; KundenControl kundectr; if (ctr.GetType() == typeof(KundenControl)) kundectr = (KundenControl)ctr; else kundectr = (KundenControl)ctr.Parent; this.kunde = (Kunde)kundectr.Tag; if (e.Button == MouseButtons.Left) { if (kundectr.Parent.Tag == null) this.DoDragDrop(new DataObject("KundeData", this), DragDropEffects.Copy); else { this.DoDragDrop(sender, DragDropEffects.Move); } } } public object Clone() { return new KundenControl(this.kunde); } private void KundenControl_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { UserControl kndctrl = (UserControl)sender; kndctrl.Parent.Controls.Remove(kndctrl); } } } } //TODO: Design des Controls anpassen. Eventuell im Designer erstellen.