Winforms .Net Charting Walkthrough - VS2015

point 1
symbol 2
symbol
shape
shape
point
shape
symbol

VS2015 .NET CHARTING COMPONENT Winforms 4.8 Framework C# Walk Through

ProEssentials WinForms interfaces are used when creating stand-alone Desktop or Embedded EXEs to be distributed royalty-free and ran on an end-users machine. This VS2015 C# Charting Walk-through includes instructions for Visual Studio VS2015-2012. For Visual Basic: Click here for VB.NET Charting or for C# in later VS: Click here for VS2022 - VS2019 or for Net60 C# Winforms: Click here for Net60 Nuget Charting VS2022 - VS2019

See the demo...
Best WPF Chart to download, evaluate, and choose for your Financial Scientific Charting.
Best .NET Chart download for Scientific Charting, Engineering Charting.
Hello World - Walk Through - Tutorial

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 (grid numbers are the grid line labels such as 70, 80, 90 along y axis) 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 for the chart, you will be able to change the form's font size and backcolor and all other 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 looking user interface where the charting control appears to be a true sibling of the other standard controls.

You will have to write a little code (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.

Creating a new project...

1) Start Visual Studio.NET and create a new project targeting [C#] [Windows] [Desktop]. Accept the default name of [WindowsFormsApp1].

.Net charting new project C# 2019

2) When the new project opens, you will be presented the design view of "Form1.cs".

Adding designer controls to your Toolbox...

3) Installing WinForms interfaces into Visual Studio.NET

VS2015 Instructions

  • Note. The first time our AnyCpu assembly is added to the Toolbar and a chart is placed inside a form, Visual Studio should be running with Admin privileges. Subsequent use will not require privileges. You may optionally install our assembly within the \DotNet48\x86 subfolder which does not require first time Admin privileges however adjust the Project Build setting Platform/CPU Target to [x86].
  • 2. With the Designer window having focus, Click the [Toolbox] vertical tab,
  • 3. Right Click the area below the [General] tab,
  • 4. Select [Add Tab],
  • 5. Enter [Gigasoft] for the tab's name,
  • 6. Right Click the area below new [Gigasoft] tab,
  • 7. Select [Choose Items...],
  • 8. If not selected, left click the [.NET Framework Components] tab,
  • 9. Left click the [Browse...] button and find the file "Gigasoft.ProEssentials.dll" found in our \DotNet48\AnyCpu subfolder where you installed ProEssentials. By default, this should be located at "C:\ProEssentials9\DotNet48\AnyCpu",
  • 10. Select the file "Gigasoft.ProEssentials.dll" and close the [Open File] dialog,
  • 11. The [Choose Toolbox Items] dialog should now show 5 highlighted controls: Pe3do, Pego, Pepco, Pepso, and Pesgo.
  • 12. Close dialog and 5 ProEssentials components will show within the Gigasoft tab as shown in the bottom right image.
  • Note 1. Attemping to add our x64 assemblies to the VS2015 toolbox will result in an error as the designer is 32 bit.
  • Note 2. When deploying your finished project and prefer to support the x86 or x64 target, close the Designer window, in Solution Explorer remove Reference and replace with any of our other References. The project will now support compiling as x64, x86, or AnyCpu that matches the Reference added. To again add our charts to a form via the Designer, remove current Reference and Add Reference to our DotNet48\AnyCpu assembly.

net charting components in vs2022 VS2019 toolbar
.Net charting components in vs2022 vs2019 toolbar
Adding ProEssentials to the Form...

4) Double click the [Pego] tool within the toolbox. This places an instance of the Pego component within "Form1.cs".

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.

C#.net Chart control in Visual Studio vs2019

This 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.

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.

To enable the chart to match the size of it's container, let us change the chart's Dock setting.

Left click the pego control within Form1 to give it the focus.

From the main menu select [View] and [Properties Window]

Within the [Properties Window], scroll and locate the Layout section and then the Dock item.

Modify the Dock setting by clicking the center section or 'Fill' mode.

C#.net Chart control in Visual Studio vs2019
Adjusting design time settings...

5) We recommend setting the parent Form's versions of back color, font, etc properties as ProEssentials will use the parent form's settings to help facilitate a uniform look among sibling controls.

We also recommend coding your property settings as this creates a record for you and others as to what settings are being used. And you might be able to re-use this code in other areas for other charts.

If new to C#, 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 (pego1) starts the line.

C#.Net Chart property Window in VS2019
Form1.cs [Code]...

6) Double click Form1's Title/Caption Bar to open the code view for "Form1.cs" with default Form1_Load event initialized.

The cursor will be within the Form1_Load code section, enter the following code into this section.

You can copy and paste, but hand-typing a few lines of this code will help familiarize yourself with the Gigasoft.ProEssentials namespace.  

Note: adding the following usingdeclaration at the top of "Form1.cs" will shorten enumeration syntax.
using Gigasoft.ProEssentials.Enums;

// Simple to code = simple to implement and maintain //

pego1.PeString.MainTitle = "Hello World";
pego1.PeString.SubTitle = "";

pego1.PeData.Subsets = 2; // Subsets = Rows //
pego1.PeData.Points = 6; // Points = Columns //
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] = 74; 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] = Color.FromArgb(60, 0, 180, 0);
pego1.PeColor.SubsetColors[1] = Color.FromArgb(180, 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.PePlot.Option.GradientBars = 8;
pego1.PePlot.Option.BarGlassEffect = true;
pego1.PeLegend.Location = Gigasoft.ProEssentials.Enums.LegendLocation.Left;
pego1.PePlot.DataShadows = Gigasoft.ProEssentials.Enums.DataShadows.ThreeDimensional;
pego1.PeFont.FontSize = Gigasoft.ProEssentials.Enums.FontSize.Large;
pego1.PePlot.SubsetLineTypes[0] = Gigasoft.ProEssentials.Enums.LineType.MediumSolid;
pego1.PePlot.SubsetLineTypes[1] = Gigasoft.ProEssentials.Enums.LineType.MediumDash;

// This enables data hot spots, But we need to define code in the HotSpot event //
pego1.PeUserInterface.HotSpot.Data = true;

// These settings will be used for all charts //

pego1.PeConfigure.RenderEngine = Gigasoft.ProEssentials.Enums.RenderEngine.Direct2D;
pego1.PeConfigure.PrepareImages = true;
pego1.PeConfigure.CacheBmp = true;
pego1.PeConfigure.AntiAliasGraphics = true;
pego1.PeConfigure.AntiAliasText = true;
// Call this at end of setting properties //
pego1.PeFunction.ReinitializeResetImage();

pego1.Refresh(); // call standard .NET Refresh method to force paint

Your project code should look similar to...

C#.NET Chart code window for form load event vs2012
Adding a DataHotSpot event...

7) The code above enabled the DataHotSpot event, so we should place some appropriate code in the DataHotSpot event.

Left click the pego control within Form1 to give it the focus.

From the main menu select [View] and [Properties Window]

Within the [Properties Window], click the event icon.

Within the available events, double-click PeDataHotSpot

This opens the code view of "Form1.cs" with cursor within the pego1.PeDataHotSpot event handler.

C#.NET Chart event window for HotSpot event vs2012

Add the following code to the pego1.PeDataHotSpot event.

System.Windows.Forms.MessageBox.Show("Subset " + e.SubsetIndex.ToString() +
", Point " + e.PointIndex.ToString() + " with a value of " +
pego1.PeData.Y[e.SubsetIndex, e.PointIndex].ToString());


Success!!!

8) Save 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.

This completes this walkthrough.

Please read the remaining sections within Chapter 2 and review the demo code and documentation that's installed with the eval/product.

Once installed, the demo program can be accessed via shortcut...

Start / ProEssentials v9 / PeDemo

Note that our main charting demo is replicated in WPF and Winform C#.NET,  VB.NET, VC++ MFC, Delphi, Builder all accessible from where you installed ProEssentials.   These are great for modifying an existing demo to test potential modifications before implementing within your applications.

C# .Net Winforms Chart within your Visual Studio software!

Our Mission

Your success is our #1 goal by providing the easiest and most professional benefit to your organization and end-users.

We are Engineers

ProEssentials was born from professional Electrical Engineers needing their own charting components. Join our large list of top engineering companies using ProEssentials.

Thank You

Thank you for being a ProEssentials customer, and thank you for researching the ProEssentials charting engine.