From 9a6c51c0b3acd61beb195aa432545fe98b1b3ed2 Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Mon, 24 Jun 2024 16:01:02 +0200 Subject: [PATCH] Improved date recognition somewhat --- src/BreCalClient/DateTimePickerExt.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/BreCalClient/DateTimePickerExt.cs b/src/BreCalClient/DateTimePickerExt.cs index e448d34..2134bbd 100644 --- a/src/BreCalClient/DateTimePickerExt.cs +++ b/src/BreCalClient/DateTimePickerExt.cs @@ -20,24 +20,42 @@ namespace BreCalClient e.Handled = true; tb.Text = Regex.Replace(text, @"(\d{2})(\d)", "$1.$2"); tb.CaretIndex = tb.Text.Length; + tb.SelectedText = ""; } else if (Regex.IsMatch(text, @"^(\d{2}\.\d{3})")) { e.Handled = true; tb.Text = Regex.Replace(text, @"^(\d{2}\.\d{2})(\d)", "$1.$2"); tb.CaretIndex = tb.Text.Length; + tb.SelectedText = ""; } else if (Regex.IsMatch(text, @"^(\d{2}\.\d{2}\.\d{2} \d{3})")) { e.Handled = true; tb.Text = Regex.Replace(text, @"(\d{2}\.\d{2}\.\d{2} \d{2})(\d)", "$1:$2"); tb.CaretIndex = tb.Text.Length; + tb.SelectedText = ""; + } + else if (Regex.IsMatch(text, @"^(\d{2}\.\d\.\d{2} \d{3})")) + { + e.Handled = true; + tb.Text = Regex.Replace(text, @"(\d{2}\.\d\.\d{2} \d{2})(\d)", "$1:$2"); + tb.CaretIndex = tb.Text.Length; + tb.SelectedText = ""; } else if (Regex.IsMatch(text, @"^(\d{2}\.\d{2}\.\d{4} \d{3})")) { e.Handled = true; tb.Text = Regex.Replace(text, @"(\d{2}\.\d{2}\.\d{4} \d{2})(\d)", "$1:$2"); tb.CaretIndex = tb.Text.Length; + tb.SelectedText = ""; + } + else if (Regex.IsMatch(text, @"^(\d{2}\.\d\.\d{4} \d{3})")) + { + e.Handled = true; + tb.Text = Regex.Replace(text, @"(\d{2}\.\d\.\d{4} \d{2})(\d)", "$1:$2"); + tb.CaretIndex = tb.Text.Length; + tb.SelectedText = null; } } }