原創|其它|編輯:郝浩|2012-10-17 13:56:16.000|閱讀 546 次
概述:由于項目的需要,試用了幾個公司的圖表控件,比如Dundas Chart,但是都覺得軟件龐大,雖然功能也很強大,但是使用起來比較復雜,有很多功能實際用不上。后來試用了ChartFX,感覺不錯,區區幾行代碼就可以Show出圖表。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
由于項目的需要,試用了幾個公司的圖表控件,比如Dundas Chart,但是都覺得軟件龐大,雖然功能也很強大,但是使用起來比較復雜,有很多功能實際用不上。
后來試用了ChartFX,感覺不錯,區區幾行代碼就可以Show出圖表,以下是我寫的一個例子:
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using SoftwareFX.ChartFX.Lite; namespace ChartTest { /**//// <summary> /// Form1 的摘要說明。 /// </summary> public class Form1 : System.Windows.Forms.Form { private SoftwareFX.ChartFX.Lite.Chart chart1; private System.Windows.Forms.ComboBox comboBox1; private System.Windows.Forms.CheckBox checkBox1; /**//// <summary> /// 必需的設計器變量。 /// </summary> private System.ComponentModel.Container components = null; public Form1() { // // Windows 窗體設計器支持所必需的 // InitializeComponent(); // // TODO: 在 InitializeComponent 調用后添加任何構造函數代碼 // } /**//// <summary> /// 清理所有正在使用的資源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } Windows 窗體設計器生成的代碼#region Windows 窗體設計器生成的代碼 /**//// <summary> /// 設計器支持所需的方法 - 不要使用代碼編輯器修改 /// 此方法的內容。 /// </summary> private void InitializeComponent() { this.chart1 = new SoftwareFX.ChartFX.Lite.Chart(); this.comboBox1 = new System.Windows.Forms.ComboBox(); this.checkBox1 = new System.Windows.Forms.CheckBox(); this.SuspendLayout(); // // chart1 // this.chart1.Location = new System.Drawing.Point(8, 16); this.chart1.Name = "chart1"; this.chart1.Size = new System.Drawing.Size(408, 208); this.chart1.TabIndex = 0; // // comboBox1 // this.comboBox1.Items.AddRange(new object[] { "柱狀圖", "餅圖", "折線圖"}); this.comboBox1.Location = new System.Drawing.Point(48, 264); this.comboBox1.Name = "comboBox1"; this.comboBox1.Size = new System.Drawing.Size(121, 20); this.comboBox1.TabIndex = 1; this.comboBox1.Text = "請選擇"; this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged); // // checkBox1 // this.checkBox1.Location = new System.Drawing.Point(208, 264); this.checkBox1.Name = "checkBox1"; this.checkBox1.Size = new System.Drawing.Size(72, 24); this.checkBox1.TabIndex = 2; this.checkBox1.Text = "3D效果"; this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged); // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(480, 310); this.Controls.Add(this.checkBox1); this.Controls.Add(this.comboBox1); this.Controls.Add(this.chart1); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); this.ResumeLayout(false); } #endregion /**//// <summary> /// 應用程序的主入口點。 /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); } private void Form1_Load(object sender, System.EventArgs e) { chart1.OpenData(COD.Values, 2, 4); chart1.Value[0, 0] = 100; chart1.Value[1, 0] = 200; chart1.Value[0, 1] = 300; chart1.Value[1, 1] = 400; chart1.Value[0, 2] = 500; chart1.Value[1, 2] = 600; chart1.Value[0, 3] = 700; chart1.Value[1, 3] = 800; chart1.CloseData(COD.Values); chart1.Titles[0].Text = "業務統計圖"; chart1.PointLabels = true; chart1.SerLegBox = true; chart1.SerLeg[0] = "業務 A"; chart1.SerLeg[1] = "業務 B"; } private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e) { if(comboBox1.SelectedIndex == 0) chart1.Gallery = Gallery.Bar; else if(comboBox1.SelectedIndex == 1) chart1.Gallery = Gallery.Pie; else if(comboBox1.SelectedIndex == 2) chart1.Gallery = Gallery.Lines; } private void checkBox1_CheckedChanged(object sender, System.EventArgs e) { if(checkBox1.Checked) chart1.Chart3D = true; else chart1.Chart3D = false; } } }
運行效果如下圖:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:博客園