I am porting a vb6 application to VB.net. One of the key forms has a large msflexgrid on it - about a 1000 columns and 50 rows. It has 2 header rows - the first header row has merged cells to form a main header and the second row has sub headings. There is no requirement for any data entry and it's unbound. The code does the work in deciding what to display (if anything) in each cell. It is solely used to display data in the form of a character and a coloured background and to display a tooltip text with more information when you mouse over it. Works beautifully in vb6. I'm trying to decide whether to: a) use the vb6 msflexgrid in the .net version b) use the datagridview - which at a first glance seems to have a problem merging the cells on the header row c) build my own custom control to do the job Has anyone got any suggestions for the best approach?