This chapter provides a complete .NET Charting overview of the ProEssentials product. It includes info for WPF, WinForm and WebForm interfaces for use with Visual Studio.NET.
Developers will use the WPF or WinForm interfaces when creating stand-alone
client side EXEs. Developers
will use the WebForm interfaces within ASP.NET web applications.
WPF assembly "Gigasoft.ProEssentialsWpf.Dll" and
WinForm assembly "Gigasoft.ProEssentials.Dll" offers
WPF vs WinForm Development
The WPF interfaces have a WPF specific property RenderSizeXdpi. This controls if a non-96 dpi system compensates for dpi by multiplying RenderSize by dpi factor. True by default, font sizes and line thicknesses will not scale on non-96dpi systems. Instead, image sharpness is maintained rather than allowing lines and text to become fuzzy. You may prefer to change this setting to False if you prefer the chart to become fuzzy if the system has larger than normal fonts, possibly to match other fuzzy graphics within the app.
WebForm assembly "Gigasoft.ProEssentialsWeb.Dll"
Note, the above assemblies are located in the ProEssentials8/DotNet32 directory. .Net Framework 2 and later may be targeted. There are also assemblies located in the ProEssentials8 / DotNetAnyCpu folder if native 64 bit is a requirement. See the included ReadMe.Txt files for latest info.
It's recommended you keep this help system open while working with ProEssentials to quicken access to reference materials.
Please note we've taken these steps to aid in your current development: there's embedded XML help/intellisense;
(most everything ProEssentials starts with "Pe"); and we've chosen an object model API which is primarily oriented as nested properties and does not force a large understanding of .NET ideologies to be immediately productive.
Please refer to the ReadMe files, Demo, and Example Projects for additional .NET resources.
Intellisense technology will automatically pop up help as needed while
you're programming. Our .NET interfaces use nested properties that break
up our 1000+ features among 12 main categories. When Intellisense pops
up for auto-code completion, you'll see ProEssentials features starting
with letters "Pe". This
groups them within Intellisense's list box for easier navigation.
The categories are as follows:
||Titles, Labels, and other string type properties.|
||Includes properties defining the quantity, attributes,
and data-access related features.|
||Includes properties related to legend, colors, line
types, points types, location.|
||Includes all font related properties.|
||Includes all color related properties.|
||Another large nested property including other nested
properties to control plotting method access and plotting options. Generally
includes everything related to how data is rendered into graphics.|
||A large nested property including other nested properties
to control grid options and grid configuration. Grid configurations deal
with quantity and frequency of grid lines. Grid options deal with how
grid lines are optionally rendered.|
||Includes other nested properties dealing with graph,
line, axis, and table annotations.|
||Includes properties controlling visual or functional
features global in nature.|
||Includes other nested properties related to menus,
dialogs, scrollbars, cursors, and availability of user interface features.|
||Includes rarely used features.|
||Unique to the Graph object, includes table related
||Includes all methods to initialize, reset, export and
perform other tasks.|
Also grouped within Intellisense's list box are our events that also
start with "Pe".
Within the property reference material, at the top of each property
topic, you'll see a table with various property attributes. For
example, the property FontSize has such an entry.
All ProEssentials Objects.
If developing with either WPF, WinForms or WebForms, you'll refer to this
property via the .NET row heading.
For a control named Pego1, to programmatically control the FontSize
property within code, you'll write...
Pego1.PeFont.Fontsize = Gigasoft.ProEssentials.Enums.FontSize.Large
It is recommended that the namespace: Gigasoft.ProEssentials.Enums
be included at the top of your source code files utilizing ProEssentials.
In VB.NET, use the Imports keyword, and within C#, use the using
keyword. For example:
The WinForm interfaces support adapting to changes in the parent form's
font and background color. They are designed so that the grid number text
size matches that of the other standard controls such as TextBox, Radio
Button, and Labels. As long as you don't explicitly change the font and
background color, you will be able to change the form's font size and
backcolor and all controls on the form will adapt to match. This feature
required that we defaulted the properties PeFont.SizeGlobalCntl to .85
and PeFont.Fixed = True. Note that the default form text size of 8 points
is fairly small. You may want to increase it to 9 or 10 points depending
on your needs. This feature results in a clean looking
user interface where the charting control appears to be a true sibling
of the other standard controls.
WebForm vs WinForm Development
The WebForm and WinForm interfaces are very similar, but they do differ
in a few events and properties. This
is best outlined within the ASP.NET walkthrough content. Generally,
the only events available have to do with adding imagemap details. Also,
there's a few additional properties to control how content is dynamically
WinForm interfaces have many properties related to user interface characteristics.
contain these properties only in the event you are rending an ActiveX
binary state to be streamed to the browser. This
allows a ProEssentials ActiveX control to be instantiated with the specific
user interface desired. Event processing is still handled via ActiveX
event processing as described in the ASP Readme file installed with the
only supports rending images and ActiveX content via binary streaming.
the only mechanism that supports WebFarms efficiently. Passing viewstate
back and forth is not good web design for complex objects containing lots
of data. If
our competition supports this feature, they also warn against using it
as it's not recommended. Due to the high inefficiency, we don't offer
a feature to pass viewstate back and forth.