mschart
c# mschart -- 코드만으로 chart 만들기
자유프로그램
2019. 2. 20. 14:50
반응형
c# mschart -- 코드만으로 chart 만들기
--
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Windows.Forms; | |
using System.Windows.Forms.DataVisualization.Charting; | |
private void Form1_Load(object sender, EventArgs e) | |
{ | |
this.ChartLoad(); | |
} | |
private void ChartLoad() | |
{ | |
this.mychart = new Chart(); | |
ChartArea ca1 = new ChartArea(); | |
ca1.Name = "ca1"; | |
Legend leg1 = new Legend(); | |
leg1.Name = "leg1"; | |
Series sr1 = new Series(); | |
sr1.Name = "sr1"; | |
sr1.ChartArea = "ca1"; | |
sr1.Legend = "leg1"; | |
this.mychart.ChartAreas.Add(ca1); | |
this.mychart.Series.Add(sr1); | |
this.mychart.Legends.Add(leg1); | |
//this.mychart.Series[0].ChartType = SeriesChartType.Column; // chart type 지정 | |
this.mychart.Size = new Size(650, 650); // chart 크기 지정 | |
this.Controls.Add(this.mychart); | |
this.mychart.Location = new Point(60, 30); // 해당 윈도우내 chart 위치 (left upper) | |
this.mychart.Anchor = (AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom); | |
this.mychart.BackColor = Color.Yellow; | |
ca1.BackColor = Color.FromArgb(229, 229, 229); | |
this.mychart.Name = "mychart1"; | |
this.mychart.MouseDown += new MouseEventHandler(this.OnmychartMouseDown); | |
this.mychart.MouseMove += new MouseEventHandler(this.OnmychartMouseMove); | |
this.mychart.MouseUp += new MouseEventHandler(this.OnmychartMouseUp); | |
this.mychart.PostPaint += new EventHandler<ChartPaintEventArgs>(this.OnmychartPostPaint); | |
this.ChartDataLoad(this.mychart); | |
} | |
private void ChartDataLoad(Chart chart) | |
{ | |
int dataCount = 50; | |
Random rnd = new Random(); | |
for (int i = 1; i < dataCount + 1; i++) | |
{ | |
chart.Series[0].Points.AddXY(i, rnd.Next(30, 300)); // data 입력하기 | |
} | |
chart.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = false; // scrollbar 위치 | |
} | |
private void OnmychartMouseDown(object sender, MouseEventArgs e) | |
{ | |
//Console.WriteLine(((Chart)sender).Name); | |
//Console.WriteLine($"Down {e.Location}"); | |
} | |
private void OnmychartMouseMove(object sender, MouseEventArgs e) | |
{ | |
Console.WriteLine(((Chart)sender).Name); | |
Console.WriteLine(e.Location); | |
mychart.Invalidate(); // 차트 다시그리기 | |
} | |
private void OnmychartMouseUp(object sender, MouseEventArgs e) | |
{ | |
//Console.WriteLine(((Chart)sender).Name); | |
//Console.WriteLine($"Up {e.Location}"); | |
} | |
private void OnmychartPostPaint(object sender, ChartPaintEventArgs e) | |
{ | |
Console.WriteLine("paint event..."); | |
} |
반응형