

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 VS2022 - VS2019 C# Charting NuGet NET80 Walk-through includes instructions for Visual Studio VS2022 and VS2019.
ProEssentials には pe_query.py を備えた AI コードアシスタントシステムが含まれます。AI ツールに完全な API へのオンデマンド アクセスを提供し — 幻覚プロパティパスを防ぐ正解データ検証付きです。
Claude、Gemini、GitHub Copilot、Cursor、ChatGPT で動作します。
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.
1) Start Visual Studio.NET and create a new project targeting [C#] [Windows] [Desktop] and [Windows Forms App]. Accept the default name of [WinFormsApp]. Note, Do not select Windows Forms App [.NET Framework]. Select .Net 80 for this tutorial. We optionally have assemblies for .Net 4.8 Framework but that is a different Walkthough. 
2)When the new project opens, you will be presented the design view of "Form1.cs".
3) Installing WinForms charts into Visual Studio.NET via Nuget Package. Note our evaluation setup program will install a local nuget source [ Gigasoft11 (Local) ] as an easier location to find our nuget packages. If you installed our product or eval, then use the [Package Source] drop-down list box (the green 1. below) and select Gigasoft11 (Local).
Pro Tip: To add an assembly to a modern VS2022 project, we recommend opening and editing the project file directly to add or adjust the Reference and HintPath manually. This approach simplifies the process and eliminates the tedious task of managing NuGet packages. Once you start adding assemblies manually, you’ll likely find it avoids much of the confusion often associated with the NuGet method.
VS2022 VS2019 Instructions


This walk-through uses .NET80. The identical code runs on .NET Framework 4.8 and .NET10 - you simply reference a different NuGet package, or a different HintPath if you prefer a direct assembly reference. Nothing else in this walk-through changes.
| Target | NuGet Package | Direct Reference (HintPath) |
|---|---|---|
| .NET Framework 4.8 (AnyCPU) | ProEssentials.Chart.Net.Winforms | ProEssentials11\DotNet48\AnyCpu\Gigasoft.ProEssentials.dll |
| .NET80 (AnyCPU) | ProEssentials.Chart.Net80.Winforms | ProEssentials11\DotNet80\AnyCpu\Gigasoft.ProEssentials.dll |
| .NET80 (x64) | ProEssentials.Chart.Net80.x64.Winforms | ProEssentials11\DotNet80\x64\Gigasoft.ProEssentials.dll |
| .NET80 (ARM64) | ProEssentials.Chart.Net80.Arm64.Winforms | ProEssentials11\DotNet80\Arm64\Gigasoft.ProEssentials.dll |
| .NET10 (AnyCPU) | ProEssentials.Chart.Net10.Winforms | ProEssentials11\DotNet10\AnyCpu\Gigasoft.ProEssentials.dll |
| .NET10 (x64) | ProEssentials.Chart.Net10.x64.Winforms | ProEssentials11\DotNet10\x64\Gigasoft.ProEssentials.dll |
| .NET10 (ARM64) | ProEssentials.Chart.Net10.Arm64.Winforms | ProEssentials11\DotNet10\Arm64\Gigasoft.ProEssentials.dll |
The .NET Framework 4.8 NuGet package is AnyCPU and embeds all three native engines. Direct reference folders for x64, x86, and ARM64 are also installed under ProEssentials11\DotNet48\.
Building on WinUI 3? WinUI targets .NET10 only: ProEssentials.Chart.Net10.WinUI (also .x64 and .Arm64), assembly Gigasoft.ProEssentialsWinUI.dll. See the WinUI walk-through.
PRO TIP - the Toolbox does not refresh until the solution is reloaded: after installing the package, build the project, save it, then close the solution and reopen it. The .NET designers populate the Toolbox only on solution load, so the five ProEssentials components will not appear until you do. This trips up almost everyone the first time.

4) Select the [Pego] tool within the toolbox and then draw a rectangle within your Window. This places an instance of the Pego component within "Form1.cs".
The adjacent image shows what you should see.

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.

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.

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

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.

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());
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 v11 / PeDemo
Note that our main charting demo is replicated in WinUI, 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.

御社とエンドユーザーに最も簡単で最もプロフェッショナルな価値を提供することで、お客様の成功を最優先目標とします。
ProEssentials は、自らのチャートコンポーネントを必要としたプロの電気エンジニアから生まれました。ProEssentials を使う一流エンジニアリング企業の長いリストに加わってください。
ProEssentials のお客様であることに感謝するとともに、ProEssentials チャートエンジンをご検討いただきありがとうございます。