diff --git a/CustomComponents/Exceptions/ContentException.cs b/CustomComponents/Exceptions/ContentException.cs index 5a3d83f..0888075 100644 --- a/CustomComponents/Exceptions/ContentException.cs +++ b/CustomComponents/Exceptions/ContentException.cs @@ -14,7 +14,7 @@ namespace CustomComponents.Exceptions { if(state) { - return "TextBox is empty however null flag is checked."; + return "TextBox is not empty however null flag is checked."; } return "TextBox is empty. You better write something!"; diff --git a/CustomComponents/TextBox.cs b/CustomComponents/TextBox.cs index 29151b7..2743b60 100644 --- a/CustomComponents/TextBox.cs +++ b/CustomComponents/TextBox.cs @@ -58,23 +58,40 @@ namespace CustomComponents } catch(ContentException ex) { - taskHandler += (sender, e) => MessageBox.Show(ex.Message); + HandlerCreation(ex.Message); } taskHandler?.Invoke(this, e); } - - private void CheckTextBoxValueType(object sender, EventArgs args) + + private void CheckTextBoxValueType(object sender, EventArgs e) { Value = textBox.Text; + try { - Convert.ToInt32(Value); + if(!Value.All(char.IsDigit)) + { + throw new NotIntegerException(Value); + } } - catch (Exception ex) + catch (NotIntegerException ex) { - MessageBox.Show(ex.ToString()); + HandlerCreation(ex.Message); } + taskHandler?.Invoke(this, e); + } + + private void HandlerCreation(string message) + { + EventHandler handler = null; + handler = (sender, e) => + { + MessageBox.Show(message); + taskHandler -= handler; + }; + + taskHandler += handler; } } }