I saw someone asking about this the other day so I thought that I'd throw a demo together. It's a simple game that displays a 5x4 grid of cards containing 10 matching pairs. The back of all cards is displayed initially and, after starting a game, the user clicks on a pair to reveal them. If the pair matches then both cards are removed and if they don't match then they are turned over again. The application times the game and displays the running time as well as the total time when the game is completed. The game can also be paused and restarted.
I'm considering adding some more features to the game, e.g. a list of best times and the ability to load an arbitrary number of image files from an arbitrary folder. We'll see if the mood strikes me.
The attached solution was created in VS 2010 and contains projects in both VB and C#. If you're using VB Express 2010 or C# Express 2010 then only one of the projects will be loaded. If you try to open the MainWindow form in the designer and it won't display, just close it and then open it in the code window first and you should be OK from there.