Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. using System;
  2. using System.Windows.Forms;
  3.  
  4. namespace ICSharpCode.TextEditor.UserControls
  5. {
  6. class Int32TextBox : TextBox
  7. {
  8. public int Min { get; set; }
  9. public int Max { get; set; }
  10.  
  11. public Int32TextBox()
  12. : this(1, int.MaxValue)
  13. {
  14. }
  15.  
  16. public Int32TextBox(int min, int max)
  17. {
  18. Min = min;
  19. Max = max;
  20. }
  21.  
  22. protected override void OnTextChanged(EventArgs e)
  23. {
  24. base.OnTextChanged(e);
  25.  
  26. if (!IsValidNumber(Text))
  27. {
  28. Text = string.Empty;
  29. }
  30. }
  31.  
  32. protected override void WndProc(ref Message m)
  33. {
  34. const int WM_PASTE = 0x0302;
  35.  
  36. if (m.Msg == WM_PASTE)
  37. {
  38. string text = Clipboard.GetText();
  39.  
  40. if (!IsValidNumber(text))
  41. return;
  42. }
  43.  
  44. base.WndProc(ref m);
  45. }
  46.  
  47. private bool IsValidNumber(string text)
  48. {
  49. int i;
  50. if (int.TryParse(text, out i))
  51. {
  52. return i <= Max && i >= Min;
  53. }
  54.  
  55. return false;
  56. }
  57. }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement