WinForm interfaces are used when creating stand-alone
client-side EXEs to be distributed and ran on an end-users
machine. This VB.Net Charting Walk-through gives instructions for Visual Studio developers. For
C# language, click here: C# Charts.
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.
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. 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
user interface where the charting
control appears to be a true sibling of the other standard
Our .NET interfaces currently have limited design time
functionality. You will have to write a little code (simple, see below)
to develop your graphing solutions. In the end, you'll
prefer our .NET (property, method, event) interface. 99% of your code will set simple properties.
following information demonstrates how to create your
first .NET ProEssentials implementation using the Visual
Basic language. It discusses using the WinForm .NET
charting interfaces to add interactive charting content to your
EXEs. Other examples are provided within the
1) Start Visual Studio.NET and create a new project
targeting a [Windows
Application] using Visual Basic as your language. Accept the
default name of [WindowsApplication1].
Note: Under the Project menu, select "Project Properties". From the Compile tab, select the "Advanced Compile Options..." button. Change the "Target CPU" setting to x86. This is necessary as the following ProEssentials assembly links to a native 32 bit DLL. This setting will allow the resulting exe to run on both 32 and 64 bit systems and provide the easiest deployment. For native 64 bit, see our ReadMe.txt files in the ProEssentials7/DotNetAnyCpu.
2) When the new project opens, you will be presented
the design view of "Form1.vb".
3) Installing WinForm interfaces into Visual Studio.NET
- Under the Tools menu, select [Choose Toolbox Items...],
- If not selected, left click the [.NET Framework Components] tab,
- Left click the [Browse...] button and find the file "Gigasoft.ProEssentials.dll" found in the DotNet20 subdirectory where you installed ProEssentials. By default, this should be located at "C:\ProEssentials7\DotNet20\", (Note Dll supports Framework 2 and beyond)
- Select the file "Gigasoft.ProEssentials.dll" and close the [Open File] dialog,
- The [Choose Toolbox Items] dialog should now show 5 highlighted controls: Pe3do, Pego, Pepco, Pepso, and Pesgo.
- Close the dialog and the 5 new ProEssentials components will be at the bottom of the toolbox.
4) Double click the [Pego]
tool within the toolbox. This places an instance
of the Pego component within "Form1.vb".
Left click bottom-right corner of control and
drag down-right to fill up client area of Form1.
The adjacent image shows what you see.
represents the default state of a ProEssentials
Graph. The default state has one subset with four
data points. In the course of constructing your
own charts, you'll set the properties PeData.Subsets
and PeData.Points which define the quantity of data your chart will
hold. You'll then pass data via the PeData.Y(subset,
point) two dimensional property array. The following
section shows example code of passing data.
ProEssentials uses the terms Subsets and Points
but you can think of these as Rows and Columns.
Passing data is as simple as filling each Subset
with Points worth of data.
5) We recommend setting the parent
Form's versions as these properties as ProEssentials
will use the parent form's settings to help facilitate
a uniform look among sibling controls.
If new to Visual Basic, the
(Name) property is probably the most
fundamental property as its name is reflected
in all code. For example,
Pego1.PeData.Subsets = 1 is
a line of code, and it shows how the (Name) property
starts the line.
6) Double click Form1's Title/Caption Bar to open
the code view for "Form1.vb" with default
Form1_Load event initialized.
cursor will be within the Form1_Load code section, enter
the following code into this section.
You can copy and paste if you must, but
hand-typing at least some of this code will really help
familiarize yourself with the Gigasoft.ProEssentials
adding the following Imports
declaration at the top of "Form1.vb" will
shorten enumeration syntax.
Pego1.PeString.MainTitle = "Hello World"
Pego1.PeString.SubTitle = ""
Pego1.PeData.Subsets = 2
Pego1.PeData.Points = 6
Pego1.PeData.Y(0, 0) = 10 : Pego1.PeData.Y(0, 1) = 30
Pego1.PeData.Y(0, 2) = 20 : Pego1.PeData.Y(0, 3) = 40
Pego1.PeData.Y(0, 4) = 30 : Pego1.PeData.Y(0, 5) = 50
Pego1.PeData.Y(1, 0) = 15 : Pego1.PeData.Y(1, 1) = 63
Pego1.PeData.Y(1, 2) = 75 : Pego1.PeData.Y(1, 3) = 54
Pego1.PeData.Y(1, 4) = 25 : Pego1.PeData.Y(1, 5) = 34
Pego1.PeString.PointLabels(0) = "Jan"
Pego1.PeString.PointLabels(1) = "Feb"
Pego1.PeString.PointLabels(2) = "Mar"
Pego1.PeString.PointLabels(3) = "Apr"
Pego1.PeString.PointLabels(4) = "May"
Pego1.PeString.PointLabels(5) = "June"
Pego1.PeString.SubsetLabels(0) = "For .Net Framework"
Pego1.PeString.SubsetLabels(1) = "or MFC, ActiveX, VCL"
Pego1.PeString.YAxisLabel = "Simple Quality Rendering"
Pego1.PeColor.SubsetColors(0) = System.Drawing.Color.FromArgb(60, 0, 180, 0)
Pego1.PeColor.SubsetColors(1) = System.Drawing.Color.FromArgb(190, 0, 0, 130)
Pego1.PeColor.BitmapGradientMode = False
Pego1.PeColor.QuickStyle = Gigasoft.ProEssentials.Enums.QuickStyle.LightShadow
Pego1.PeTable.Show = Gigasoft.ProEssentials.Enums.GraphPlusTable.Both
Pego1.PeData.Precision = Gigasoft.ProEssentials.Enums.DataPrecision.NoDecimals
Pego1.PeFont.Label.Bold = True
Pego1.PePlot.Method = Gigasoft.ProEssentials.Enums.GraphPlottingMethod.Bar
Pego1.PeFont.FontSize = Gigasoft.ProEssentials.Enums.FontSize.Large
Pego1.PeUserInterface.HotSpot.Data = True
Pego1.PeLegend.Location = Gigasoft.ProEssentials.Enums.LegendLocation.Left
Pego1.PePlot.Option.BarGlassEffect = True
Pego1.PePlot.Option.GradientBars = 8
Pego1.PePlot.DataShadows = Gigasoft.ProEssentials.Enums.DataShadows.ThreeDimensional
Pego1.PeConfigure.RenderEngine = Gigasoft.ProEssentials.Enums.RenderEngine.GdiPlus
Pego1.PeConfigure.AntiAliasGraphics = True
Pego1.PeConfigure.AntiAliasText = True
Pego1.Refresh() ' Call standard .NET Refresh method to force paint
7) The code above enabled the DataHotSpot event, so
we should place some appropriate code in the DataHotSpot
Within the two drop-down combo boxes
at top of code view window, select [Pego1]
within the left combo box. Select
within the right combo box. The cursor should
be within the Pego1_PeDataHotSpot event. See the red
annotations in the bitmap below.
Add the following code to the Pego1_PeDataHotSpot
" + e.PointIndex.ToString() + _
" with a value of " + Pego1.PeData.Y(0,
the "Form1.vb" code window should contain...
and run the project. Your project will show an image
as follows. Move the mouse over a bar and click to trigger
the DataHotSpot event.
completes this walkthrough.
read the remaining sections within Chapter 2 and review
the demo code and documentation that's installed with
Once installed, the demo program can
be accessed via shortcut...
Start / All Programs / ProEssentials
v7 / PeDemo
Note that our main demo is replicated in
VB.NET, C#.NET, VB6, and C++/MFC projects all accessible
from the start menu. These are great for modifying an
existing demo to test potential modifications before
implementing within your applications.
Complete online technical reference to the ProEssentials
product. Chapter 2's .NET Reference is the best mechanism
to navigate the large quantity of properties and features.
Walk-Throughs of .NET charting in VB.NET, C#.NET, ASP, VC,
VB6, and Delphi get you started quickly.
more about vb.net charting, see Chapter 2
Financial, Engineering, Scientific, and Business
examples give you an instant taste of ProEssentials' power.
view our .net charting demo