Well normally I would not cast the sender as well ( as in I must admit that this is a wrong place to put an explicit cast in this example ). But I figured the OP would see this as well , and with a straight copy paste of code, this would definately be worth mentioning by the one reviewing this code ( I know I can be a bastard at times ).
The only time I've used an explicit cast like this from an event's sender was when I was using a 2D array of buttons for my minesweeper clone. Since every button had the same event handler, and I needed to know which button was pressed, so I needed the button properties of the sender for this to correctly adjust the field and start uncovering some squares...
It's too bad I'm not in touch with more C# programmers like you, there are definately some things one could learn from the other , or maybe I should just look at more C# boards like this one ... ( and I finished my C# course *sigh* next year course of programming is ASP.NET - and I'm not really looking forward to it but anyway if that's what people want then that's what I'll be doing... ).