From 2021f3774c22addac484f967dee0e49e0fdf2463 Mon Sep 17 00:00:00 2001 From: Kilian Wirl Date: Fri, 12 Jun 2026 13:56:58 +0200 Subject: [PATCH] LongPress implementiert --- AA-Forms/FormAuftragAuswahl.cs | 36 +++++++++++++++++++++++++++++++++- Verwaltung_ReadMe.txt | 2 +- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/AA-Forms/FormAuftragAuswahl.cs b/AA-Forms/FormAuftragAuswahl.cs index 25d1173..814ec8c 100644 --- a/AA-Forms/FormAuftragAuswahl.cs +++ b/AA-Forms/FormAuftragAuswahl.cs @@ -25,6 +25,9 @@ namespace Deckungsbeitrag.AA_Forms public Kunde kunde; public Auftrag auftrag; private Screen screen = Screen.PrimaryScreen; + private Timer longPressTimer; + private const int LongPressMs = 400; // Unter Windows-Standard (500ms) + private bool isLongPress; public FormAuftragAuswahl() { @@ -38,6 +41,11 @@ namespace Deckungsbeitrag.AA_Forms case var t when t.Contains("spannleintuch"): Abteilung = ArtikelKategorie.Spannleintuch; break; default: break; //TODO: Default Zuweisung löschen bevor in Echtbetrieb. } + + // Timer für Lang-Drücken + longPressTimer = new Timer(); + longPressTimer.Interval = LongPressMs; + longPressTimer.Tick += OnLongPressTick; } private async void FormAuftragAuswahl_Load(object sender, EventArgs e) @@ -76,11 +84,36 @@ namespace Deckungsbeitrag.AA_Forms lbl.Click += LabelAuftrag_Click; lbl.MouseEnter += LabelAuftrag_MouseEnter; lbl.MouseLeave += LabelAuftrag_MouseLeave; + lbl.MouseDown += LabelAuftrag_MouseDown; panelAuswahl.Controls.Add(lbl); } } + private void LabelAuftrag_MouseDown(object sender, MouseEventArgs e) + { + Label lbl = sender as Label; + + isLongPress = false; + + // Timer starten für Lang-Drücken-Check + longPressTimer.Stop(); + longPressTimer.Tag = lbl; + longPressTimer.Start(); + } + private void OnLongPressTick(object sender, EventArgs e) + { + // Lang gedrückt gehalten → kein Click, kein Contextmenü + isLongPress = true; + longPressTimer.Stop(); + Label lbl = (Label)longPressTimer.Tag; + View_Auftrag_Expedit exAuftrag = (View_Auftrag_Expedit)lbl.Tag; + + if (MessageBox.Show($"Möchtest du den Auftrag mit Liefertag {exAuftrag.Liefertag} auswählen?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Cancel) return; + else LabelAuftrag_Click(lbl, e); + // Optional: Dein eigenes Lang-Drücken-Feature ausführen + // MessageBox.Show("Lang gedrückt!"); + } private void LabelAuftrag_MouseLeave(object sender, EventArgs e) { Label lbl = sender as Label; @@ -120,6 +153,7 @@ namespace Deckungsbeitrag.AA_Forms { TextBox textbox = sender as TextBox; textbox.Clear(); + textbox.ForeColor = Color.Black; if (Program.istTouch & Screen.PrimaryScreen.WorkingArea.Width > 0 & Screen.PrimaryScreen.WorkingArea.Width < 2000) { @@ -140,7 +174,7 @@ namespace Deckungsbeitrag.AA_Forms private void FormAuftragAuswahl_Shown(object sender, EventArgs e) { this.Width = screen.WorkingArea.Width; - this.Height = (int)(screen.WorkingArea.Height * 0.70); + this.Height = (int)(screen.WorkingArea.Height * 0.60); this.Location = new Point(0, 0); this.panelAuswahl.Height = this.Bottom - this.panelSuchen.Bottom - 20; diff --git a/Verwaltung_ReadMe.txt b/Verwaltung_ReadMe.txt index 5a0f1ca..2d8d99c 100644 --- a/Verwaltung_ReadMe.txt +++ b/Verwaltung_ReadMe.txt @@ -72,5 +72,5 @@ Build-Info: Keine Install-Reminder vorhanden ✅ -Installation: 12.06.2026 13:26 +Installation: 12.06.2026 13:54 =====================================