0

I am building an GUI application to label time series data. With one track displays the time series data, the other track for the user to interactively label the intervals. I immediately recognize that the GUI of my applicatioin would be very similiar to an audio editing software.

So I opened Audacity and started to think about how to program its GUI.

My GUI programming abality is limited in using frames, buttons, labels, etc in the toolbox. But I don't know how to program these controls my self. For instance, a label track (see the above link), contains labels in it. The user can also drag the label to other time stamp.

If I want to program similiar GUI elements in .Net, what kind of techniques should I learn? Thanks a lot!

Yin Zhu
  • 16,980
  • 13
  • 75
  • 117

2 Answers2

1

Going the winforms route, you would create a couple of custom controls (ie the data label, and the label series) that behaves the way you want them to behave and renders the way you want. Here are a couple of links on creating custom controls

http://msmvps.com/blogs/deborahk/archive/2009/10/13/winforms-user-controls-101.aspx

http://www.codeproject.com/KB/miscctrl/ScrollingTextControlArtic.aspx

http://msdn.microsoft.com/en-us/library/6hws6h2t.aspx

Jaime
  • 6,736
  • 1
  • 26
  • 42
0

I'd hazard you'd be best off learning WPF as it'll give you the quickest route to customising the display of data - however be prepared for a bit of steep learning curve as it's a bit different from the traditional GUI.

If you do learn WPF you may find that the Dynamic Data Display library on codeplex serves as a good point for future customisation.

http://dynamicdatadisplay.codeplex.com/

many hints for learning wpf here:

Where to find good resources to learn XAML? Good resources for learning WPF https://stackoverflow.com/questions/59954/what-is-the-best-book-for-learning-wpf

Community
  • 1
  • 1
GreyCloud
  • 3,030
  • 5
  • 32
  • 47
  • I don't want dynamic feature, which is too heavy for my application. After trying the sample exectuables, I also find that the exectution speed is too slow compared to Audacity. – Yin Zhu Dec 12 '10 at 14:07
  • WPF doesn't have to be slow - nor does it have to be slow because it is dynamic - see here: http://www.scottlogic.co.uk/blog/colin/2010/12/visiblox-visifire-dynamicdatadisplay-charting-performance-comparison/ – GreyCloud Dec 23 '10 at 22:40
  • btw if the data you are displaying does not contineously change [ie is static] then the application will perform far far faster as it doesn't have to re-layout the data dynamically for each frame. - you can use all of the dynamic data display components with static data if you need to ... it'll be faster – GreyCloud Dec 23 '10 at 22:42