I'm trying to visualize some data I have in a C# form. I've been thinking of several ways I can do this, but can't figure out what would be the best way in C#.
First, let me show an example I made in paint.
(source: interstyles.nl)
Some ways I figured I could do it :
Draw one huge picture with all data in it, and just scroll the picture in the form. This is not very nice, since the data can become quite wide. Normally I'd expect to have data that's about 36000 pixels wide, so that would be quite a huge picture! so it's easy to program, but takes a lot of memory.
Same as one, but have a separate picture for each row of data that's only 1 pixel high, and expand it when i show it on the screen. More difficult to program, but saves a lot of memory. Also makes it easier to sort data and turn rows on/off. In short the screen gets build up by several pictures above each other.
Draw only the visible data in a picture the size of the form, depending on the position of the scrollbars. More difficult to program, and I wonder if this would be fast enough?
There is also graphing capability in c#, but I can't find how to make something like this.
Some other library that I didn't know about yet.
I'd also like if I could get information about a particular event when I hover my mousepointer over it, that would be difficult in options 1, 2 and 3.. or at least take quite some programming effort..
Suggestions please