Sometimes it's fun to surprise my son by showing up for lunch at school, but I usually tell him the day before, because I know that way he will go to bed happy. The next morning he will wake up excited for the day, because he knows Mom is coming for lunch, and that's special. That excitement will carry him through the morning as he eagerly anticipates my arrival. Isn't that so much better than the few moments of surprise when I arrive?
So next time you have something fun coming up for your child, don't save it for a surprise- let them know so they can be excited too! If you still want to have an element of surprise, then just tell them that a surprise is coming and let them wonder what it might be. :-)