I'm pretty pleased with the progress on Map.NET really. The fiddly bit of drawing the map, scrolling it around, click-dragging a region with the mouse and filling it with blocks is all done.
I couldn't find a built in component that would display the available blocks that was what I wanted, so I implemented the palette above myself. It is based on the Visual Studio C# component panel and highlights the selected item as well as the item being hovered over.
It automatically scales down the associated image so it fits in a 32x32 square, which looks pretty good.
I decided to not have it own its list of components, so it has a few delegate functions that call back its owner (the main form in this case) to retrieve the total count of items, the image and text for each item and the currently selected index.
The idea is that the same palette will be able to display item templates instead of blocks when the item tool is selected. To implement this, I can just make the main form functions that are assigned to the palette's delegate members return the item information instead of the block information.
Cut, copy, paste and delete all work on the map cells now. Cut and copy load the clipboard in a format that you can paste into Excel as well which is quite cool.
There's a Tools toolbar down the left of the main window too. Only "Select Cells" and "Paint Cells" implemented at the moment.