Results 1 to 3 of 3

Thread: [C#] Validation class for events?

  1. #1

    Thread Starter
    Member
    Join Date
    Oct 2002
    Posts
    51

    Question [C#] Validation class for events?

    Hi,

    I develop an application that have 20 windows forms with many TextBoxes.
    All TextBoxes have the same validation...
    I write in all classes the same validation like that:



    Code:
    		
    		//if the user press a key down at txtDisplacement we check which one was pressed down
    		#region KeyDownInTxtDisplacement code
    		private void KeyDownInTxtDisplacement(object sender, System.Windows.Forms.KeyEventArgs e)
    		{
    			CheckWhichKeyDown(e);
    		}
    		#endregion
    
    
    
    		//if the user press a key down at txtModel we check which one was pressed down
    		#region KeyDownInTxtModel code
    		private void KeyDownInTxtModel(object sender, System.Windows.Forms.KeyEventArgs e)
    		{
    			CheckWhichKeyDown(e);
    		}
    		#endregion
    
    
    
    		//we check which key is pressed
    		//if key Enter or Return or Tab is pressed
    		//we go throw DoWhenOneTextBoxIsMarkedRed()
    		#region CheckWhichKeyDown code
    		private void CheckWhichKeyDown(System.Windows.Forms.KeyEventArgs e)
    		{
    			if(e.KeyCode==Keys.Enter || e.KeyCode==Keys.Return || e.KeyCode==Keys.Tab)
    			{
    				ValidateThis();
    			}		
    		}
    		#endregion
    
    
    
    		//when special key is press we enable the button
    		#region ValidateThis code
    		private void ValidateThis()
    		{
    			cmdAddToDataBase.Enabled = true;
    		}
    		#endregion



    CheckWhichKeyDown and ValidateThis should be in one validation class.
    How I can write a validation class that validate ALL TextBoxes from all classes.
    Any ideas?
    Or do you know some sample validation classes available on www?


    gicio

  2. #2
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    Validation class?

    Can't you simply derive a class from TextBox? It's not sealed.
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  3. #3

    Thread Starter
    Member
    Join Date
    Oct 2002
    Posts
    51
    Hi,

    I write a new class... like this:



    Code:
    
    using System;
    using System.Windows.Forms;
    using System.Windows.Forms.ComponentModel;
    
    namespace CarTrade
    {
    	/// <summary>
    	/// Summary description for TestTextBox.
    	/// </summary>
    	public class TestTextBox : System.Windows.Forms.TextBox
    	{
    		private bool booOnlyNumericCharsAllowed;
    		private bool booSpecialKeyIsPress;
    		
    		public TestTextBox.
    		{
    	
    		}
    
    		//---------------------------------------------------------------
    		//---------------------------PROPERTIES--------------------------
    		//---------------------------------------------------------------
    
    		//we allowed in the TestTextBox only numeric chars
    		//when the user set the proparty OnlyOnlyNumericCharsAllowed
    		//to true
    		internal bool OnlyNumericCharsAllowed
    		{
    			get
    			{
    				//return the value how OnlyOnlyNumericCharsAllowed
    				//is set
    				return booOnlyNumericCharsAllowed;
    			}
    			set
    			{
    				if(value)
    				{
    					this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.DoWhenKeyPress);
    				}
    
    				booOnlyNumericCharsAllowed = value;
    			}
    		}
    
    		internal bool SpecialKeyIsPress
    		{
    			get
    			{
    				return booSpecialKeyIsPress;
    			}
    			set
    			{
    				if(value)
    				{
    					this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.CheckIfSpecialKeysArePressed);
    				}
    
    				booSpecialKeyIsPress = value;
    			}
    		}
    
    		private void CheckIfSpecialKeysArePressed(object sender, System.Windows.Forms.KeyEventArgs e)
    		{
    			bool booEnter = e.KeyCode == Keys.Enter;
    			bool booReturn = e.KeyCode==Keys.Return;
    			bool booTab = e.KeyCode==Keys.Tab;
    
    			if(booEnter || booReturn || booTab)
    			{
    		
    			}
    		}
    
    		private void DoWhenKeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    		{
    			if((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 )
    			{
    				e.Handled = true;
    			}
    
    			if(Text.Length == 0 && e.KeyChar == 48)
    			{
    				e.Handled = true;
    			}
    		}
    
    	}
    }


    Any coments are welcome!


    gicio

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width