Programm_Wirl/UserControls/KundenControl.cs

95 lines
2.5 KiB
C#

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.