One of our clients made a request for a .Net control allowing display of financial
charts. The control was supposed to be used by other developers in their applications
and must meet the following requirements:
simple and intuitive adjustment;
support of several types of data sources for charts (database, .xml file, text file
of the CSV format);
provide tools for price trend analysis (financial indicators);
provide fine adjustment of the control's appearance and behavior in both ways in
design time (from VisualStudio IDE) and from the program;
provide convenience of charts zooming and scrolling.
KBSoft created an idea of a control which would be fully adjusted in design time
and provide control over its items and properties with the help of property grid
and a design form of VisualStudio. The control must have no child windows to be
fast and flexible in adjustment. Classes of .Net Frameork were used for this which
allowed adjustment of the control's behaviour in design time.
Then a class architecture was developed allowing adjustment of any parameters without
coding manually. One could simply add the control to a form from VisualStudio toolbox
and adjust its items by selecting them with mouse (selecting an item shows all its
properties in the property grid of the VisualStudio environment).
The control's architecture is also flexible enough to allow further enhancement
(addition of new charts, indicators, rendering technologies, etc.)
Adjustment of appearance and data binding of the component was developed to provide
the highest flexibility. Any aspects of the control's appearance adjustment are
available in the property grid of the VisualStudio environment.
To bind the control to data, KBSoft developed its own format of data binding string
which allows a
uniform specification for both binding to databases and to files
in the XML and CSV formats.
To provide a possibility of financial data analysis, KBSoft created a library of
financial, statistical, and mathematical functions which work with data arrays.
The library includes the most popular financial indicators.
To provide convenience of charts scaling, KBSoft developed an intuitive user interface
of scrolling and zooming. To scroll a chart, one can either drag it or use scroll
bars. User can zoom a chart either by spinning the mouse wheel or by selecting and
zooming an area on the chart.
Software and Services
VB.NET, C#, ADO.NET, XML, MS Visual Studio.NET 2005.
As a result of the project, the client got a high-end and scalable component for
.Net windows applications which displays financial charts and is fully integrated
into VisulaStudio IDE. A comprehensive MSDN-style documentation, a UserGuide in
the CHM format, and a quick tutorial including flash movies for different subjects
and illustrating the use of the control were also developed in addition to the component.
The client was also provided with an extensive gallery of screenshots for site design.
Besides, demo projects were created to explain every capability of the control.