I was implementing Charles Petzold’s FreeCell program and for the longest time didn’t find anything I drew on the display, until I implemented his “OnActivated” event.
Then I found it was because he had the following overload of SpriteBatch.Begin in his Draw override:
SpriteBatch.Begin(SpriteSortMode.Immediate, null, null, null, null, null, DisplayMatrix);
and the DisplayMatrix was not initialized until OnActivated was called.
I pre-initialized it to Matrix.Identity and things started to make more “sense”.