Question: In a TextBox I'm monitoring the text changes. I need to check the text before doing some stuff. But I can only check the old text in the moment. How can I get the new Text ?

```
private void textChanged(object sender, EventArgs e)
{
    // need to check the new text
}

```

I know .NET Framework 4.5 has the new `TextChangedEventArgs` class but I have to use .NET Framework 2.0.

Answer: 
**Getting the NEW value**

You can just use the `Text` property of the `TextBox`. If this event is used for multiple text boxes then you will want to use the `sender` parameter to get the correct `TextBox` control, like so...

```
private void textChanged(object sender, EventArgs e)
{
    TextBox textBox = sender as TextBox;
    if(textBox != null)
    {
        string theText = textBox.Text;
    }
}

```

---

**Getting the OLD value**

For those looking to get the old value, you will need to keep track of that yourself. I would suggest a simple variable that starts out as empty, and changes at the end of each event:

```
string oldValue = "";
private void textChanged(object sender, EventArgs e)
{
    TextBox textBox = sender as TextBox;
    if(textBox != null)
    {
        string theText = textBox.Text;

        // Do something with OLD value here.

        // Finally, update the old value ready for next time.
        oldValue = theText;
    }
}

```

You could create your own TextBox control that inherits from the built-in one, and adds this additional functionality, if you plan to use this a lot.
```
private void stIDTextBox_TextChanged(object sender, EventArgs e)
{        
    if (stIDTextBox.TextLength == 6)
    {
        studentId = stIDTextBox.Text; // Here studentId is a variable.

        // this process is used to read textbox value automatically.
        // In this case I can read textbox until the char or digit equal to 6.
    }
}

```