446ea3c8-e61c-4ede-b4d5-ab57daf45d49 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 3/n/AV2BKBcVmkxtAAAAAElFTkSuQmCC 487, 140 form1 Form form1_Load Transparent Black 42, 35 chart2 398, 59 33 chart2 </Titles> <ChartAreas> <ChartArea BackColor="Transparent" Name="ChartArea1" AlignmentOrientation="Horizontal" AlignmentStyle="None" BorderColor="Transparent" BorderWidth="0"> <CursorX LineDashStyle="NotSet" /> <AxisY LineDashStyle="NotSet" Interval="100" IntervalType="Number"> <MajorGrid Enabled="False" IntervalOffset="Auto" IntervalOffsetType="Auto" Interval="Auto" IntervalType="Auto" LineColor="Gray" LineDashStyle="Dash" /> <MajorTickMark TickMarkStyle="None" IntervalOffset="100" IntervalOffsetType="Number" Interval="100" IntervalType="Number" LineColor="Transparent" LineDashStyle="NotSet" Enabled="False" /> <LabelStyle IntervalOffset="Auto" IntervalOffsetType="Auto" Interval="100" IntervalType="Auto" TruncatedLabels="True" Format="0%" Enabled="False" /> <ScaleView SizeType="Number" MinSize="0" /> </AxisY> <AxisX LineColor="Gray" IntervalType="Number" IntervalOffsetType="Number" IntervalAutoMode="VariableCount" IsMarginVisible="False"> <MajorGrid Enabled="False" /> <MajorTickMark Enabled="False" /> <LabelStyle Enabled="False" /> </AxisX> </ChartArea> </ChartAreas> </Chart> </Serialize> </Object> </Object> <Code><![CDATA[function OnApplicationLoad { if ([Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms.DataVisualization") -eq $null) { #Microsoft Chart Controls are not installed [void][reflection.assembly]::Load("System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089") [void][System.Windows.Forms.MessageBox]::Show("Microsoft Chart Controls for Microsoft .NET 3.5 Framework is required", "Microsoft Chart Controls Required") #Open the URL [System.Diagnostics.Process]::Start("http://www.microsoft.com/downloads/en/details.aspx?familyid=130F7986-BF49-4FE5-9CA8-910AE6EA442C&displaylang=en"); return $false } return $true #return true for success or false for failure } $form1_Load = { [void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") $Chart2.Titles["Title1"].Text = "100 of 10" $Chart2.Series["Series1"].Points.AddY(100) $Chart2.Series["Series2"].Points.AddY(10) $maxValue = $Chart2.Series["Series1"].Points.FindMaxByValue() $maxValue.Color = [System.Drawing.Color]::DodgerBlue $minValue = $Chart2.Series["Series2"].Points.FindMinByValue() $minValue.Color = [System.Drawing.Color]::FloralWhite } #region Control Helper Functions function Load-Chart { <# .SYNOPSIS This functions helps you plot points on a chart .DESCRIPTION Use the function to plot points on a chart or add more charts to a chart control .PARAMETER ChartControl The Chart Control you when to add points to .PARAMETER XPoints Set the X Axis Points. These can be strings or numerical values. .PARAMETER YPoints Set the Y Axis Points. These can be strings or numerical values. .PARAMETER XTitle Set the Title for the X Axis. .PARAMETER YTitle Set the Title for the Y Axis. .PARAMETER Title Set the Title for the chart. .PARAMETER ChartType Set the Style of the chart. See System.Windows.Forms.DataVisualization.Charting.SeriesChartType Enum .PARAMETER SeriesIndex Set the settings of a particular Series and corresponding ChartArea .PARAMETER TitleIndex Set the settings of a particular Title .PARAMETER SeriesName Set the settings of a particular Series using its name and corresponding ChartArea. The Series will be created if not found. If SeriesIndex is set, it will replace the Series' name if the Series does not exist .PARAMETER Enable3D The chart will be rendered in 3D. .PARAMETER Disable3D The chart will be rendered in 2D. .PARAMETER AppendNew When this switch is used, a new ChartArea is added to Chart Control. .LINK http://www.sapien.com/blog/2011/05/05/primalforms-2011-designing-charts-for-powershell/ #> Param( #$XPoints, $YPoints, $XTitle, $YTitle, $Title, $ChartStyle) [ValidateNotNull()] [Parameter(Position=1,Mandatory=$true)] [System.Windows.Forms.DataVisualization.Charting.Chart]$ChartControl , [ValidateNotNull()] [Parameter(Position=2,Mandatory=$true)] $XPoints , [Parameter(Position=3,Mandatory=$true)] $YPoints , [Parameter(Position=4,Mandatory=$false)] [string]$XTitle , [Parameter(Position=5,Mandatory=$false)] [string]$YTitle , [Parameter(Position=6,Mandatory=$false)] [string]$Title , [Parameter(Position=7,Mandatory=$false)] [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]$ChartType , [Parameter(Position=8,Mandatory=$false)] $SeriesIndex = -1 , [Parameter(Position=9,Mandatory=$false)] $TitleIndex = 0, [Parameter(Mandatory=$false)] [string]$SeriesName = $null, [switch]$Enable3D, [switch]$Disable3D, [switch]$AppendNew) $ChartAreaIndex = 0 if($AppendNew) { $name = "ChartArea " + ($ChartControl.ChartAreas.Count + 1).ToString(); $ChartArea = $ChartControl.ChartAreas.Add($name) $ChartAreaIndex = $ChartControl.ChartAreas.Count - 1 $name = "Series " + ($ChartControl.Series.Count + 1).ToString(); $Series = $ChartControl.Series.Add($name) $SeriesIndex = $ChartControl.Series.Count - 1 $Series.ChartArea = $ChartArea.Name if($Title) { $name = "Title " + ($ChartControl.Titles.Count + 1).ToString(); $TitleObj = $ChartControl.Titles.Add($Title) $TitleIndex = $ChartControl.Titles.Count - 1 $TitleObj.DockedToChartArea = $ChartArea.Name $TitleObj.IsDockedInsideChartArea = $false } } else { if($ChartControl.ChartAreas.Count -eq 0) { $name = "ChartArea " + ($ChartControl.ChartAreas.Count + 1).ToString(); [void]$ChartControl.ChartAreas.Add($name) $ChartAreaIndex = $ChartControl.ChartAreas.Count - 1 } if($ChartControl.Series.Count -eq 0) { if(-not $SeriesName) { $SeriesName = "Series " + ($ChartControl.Series.Count + 1).ToString(); } $Series = $ChartControl.Series.Add($SeriesName) $SeriesIndex = $ChartControl.Series.Count - 1 $Series.ChartArea = $ChartControl.ChartAreas[$ChartAreaIndex].Name } elseif($SeriesName) { $Series = $ChartControl.Series.FindByName($SeriesName) if($Series -eq $null) { if(($SeriesIndex -gt -1) -and ($SeriesIndex -lt $ChartControl.Series.Count)) { $Series = $ChartControl.Series[$SeriesIndex] $Series.Name = $SeriesName } else { $Series = $ChartControl.Series.Add($SeriesName) $SeriesIndex = $ChartControl.Series.Count - 1 } $Series.ChartArea = $ChartControl.ChartAreas[$ChartAreaIndex].Name } else { $SeriesIndex = $ChartControl.Series.IndexOf($Series) $ChartAreaIndex = $ChartControl.ChartAreas.IndexOf($Series.ChartArea) } } } if(($SeriesIndex -lt 0) -or ($SeriesIndex -ge $ChartControl.Series.Count)) { $SeriesIndex = 0 } $Series = $ChartControl.Series[$SeriesIndex] $Series.Points.Clear() $ChartArea = $ChartControl.ChartAreas[$Series.ChartArea] if($Enable3D) { $ChartArea.Area3DStyle.Enable3D = $true } elseif($Disable3D) { $ChartArea.Area3DStyle.Enable3D = $false } if($Title) { if($ChartControl.Titles.Count -eq 0) { #$name = "Title " + ($ChartControl.Titles.Count + 1).ToString(); $TitleObj = $ChartControl.Titles.Add($Title) $TitleIndex = $ChartControl.Titles.Count - 1 $TitleObj.DockedToChartArea = $ChartArea.Name $TitleObj.IsDockedInsideChartArea = $false } $ChartControl.Titles[$TitleIndex].Text = $Title } if($ChartType) { $Series.ChartType = $ChartType } if($XTitle) { $ChartArea.AxisX.Title = $XTitle } if($YTitle) { $ChartArea.AxisY.Title = $YTitle } if($XPoints -isnot [Array] -or $XPoints -isnot [System.Collections.IEnumerable]) { $array = New-Object System.Collections.ArrayList $array.Add($XPoints) $XPoints = $array } if($YPoints -isnot [Array] -or $YPoints -isnot [System.Collections.IEnumerable]) { $array = New-Object System.Collections.ArrayList $array.Add($YPoints) $YPoints = $array } $Series.Points.DataBindXY($XPoints, $YPoints) } function Clear-Chart { <# .SYNOPSIS This function clears the contents of the chart .DESCRIPTION Use the function to remove contents from the chart control .PARAMETER ChartControl The Chart Control to clear .PARAMETER LeaveSingleChart Leaves the first chart and removes all others from the control .LINK http://www.sapien.com/blog/2011/05/05/primalforms-2011-designing-charts-for-powershell/ #> Param ( [ValidateNotNull()] [Parameter(Position=1,Mandatory=$true)] [System.Windows.Forms.DataVisualization.Charting.Chart]$ChartControl , [Parameter(Position=2, Mandatory=$false)] [Switch]$LeaveSingleChart ) $count = 0 if($LeaveSingleChart) { $count = 1 } while($ChartControl.Series.Count -gt $count) { $ChartControl.Series.RemoveAt($ChartControl.Series.Count - 1) } while($ChartControl.ChartAreas.Count -gt $count) { $ChartControl.ChartAreas.RemoveAt($ChartControl.ChartAreas.Count - 1) } while($ChartControl.Titles.Count -gt $count) { $ChartControl.Titles.RemoveAt($ChartControl.Titles.Count - 1) } if($ChartControl.Series.Count -gt 0) { $ChartControl.Series[0].Points.Clear() } } #endregion ]]></Code> <Mode>1</Mode> <Assemblies> <Assembly>mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Assembly> <Assembly>System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Assembly> <Assembly>System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Assembly> <Assembly>System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Assembly> <Assembly>System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly> <Assembly>System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Assembly> <Assembly>System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly> <Assembly>System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Assembly> <Assembly>System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly> </Assemblies> </File>