the other two are close, but they didn't actually check their regular expression. One of the other answers is close.
What
they one of them gave you will only check the first character.
The pattern that you really need is
return new RegEx("^[a-zA-z_0-9]*$");
The caret (^) says check starting at the beginning.
The brackets indicate what is available as a character.
The asterisk (*) says check for 0 or more values.
The $ says that they also have to be at the end as well.
This will ensure that the whole string matches those character choices, not just the first character.
And as one of the others said, you can't just pass in e.ToString(). That's never going to give you what you expect.
Really, from what you're doing, it looks like you may want to handle the keypress event instead.
Using the KeyPress, you could check the e.KeyChar against the regular expression and then decide whether it was handled or not.