程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> 基本教程篇--第一節:InitialSampleDemo.cs介紹

基本教程篇--第一節:InitialSampleDemo.cs介紹

編輯:關於C#

為了講解方便,我先附上源代碼和效果圖。

代碼如下:

using System;

using System.Drawing;

using System.Collections;

using ZedGraph;

namespace ZedGraph.Demo

{

     ///<summary>

     /// Summary description for SimpleDemo.

     ///</summary>

     public class InitialSampleDemo : DemoBase

     {

           public InitialSampleDemo() : base( "Code Project Initial Sample",

                "Initial Sample", DemoType.Tutorial )

           {

                GraphPane myPane = base.GraphPane;

                // Set the title and axis labels

                myPane.Title = "My Test Graphn(For CodeProject Sample)";

                myPane.XAxis.Title = "My X Axis";

                myPane.YAxis.Title = "My Y Axis";

                // Make up some data arrays based on the Sine function

                PointPairList list1 = new PointPairList();

                PointPairList list2 = new PointPairList();

                for ( int i=0; i<36; i++ )

                {

                     double x = (double) i + 5;

                     double y1 = 1.5 + Math.Sin( (double) i * 0.2 );

                     double y2 = 3.0 * ( 1.5 + Math.Sin( (double) i * 0.2 ) );

                     list1.Add( x, y1 );

                     list2.Add( x, y2 );

                }

                // Generate a red curve with diamond

                // symbols, and "Porsche" in the legend

                LineItem myCurve = myPane.AddCurve( "Porsche",

                     list1, Color.Red, SymbolType.Diamond );

                // Generate a blue curve with circle

                // symbols, and "Piper" in the legend

                LineItem myCurve2 = myPane.AddCurve( "Piper",

                     list2, Color.Blue, SymbolType.Circle );

                base.ZedGraphControl.AxisChange();

           }

     }

}

我們可以看到,InitialSampleDemo繼承自CemoBase類,而DemoBase又繼承自ZedGraphDemo這個接口。 ZedGraphDemo接口定義了String Description、String Title、ZedGraph. ZedGraphControl ZedGraphControl 和 System.Collection.ICollection Types這四個屬性。DemoBase除了實現這四個屬性 外,還添加了PaneBase Pane和MasterPane MasterPane這兩個屬性,此外DemoBase還實現了多載構造函數 。關於各個類的具體含義和用法,我會在以後的篇幅中陸續介紹。這裡只是給大家一個整體的大致結構。

下面進行對代碼的分析,由於這是第一個例子,所有我會講得比較細,以後的例子就不會了。

我們可以看到程序首先

public InitialSampleDemo() : base( "Code Project Initial Sample" , "Initial Sample", DemoType.Tutorial )

初始化基類的構造函數。基類重載了四個構造函數

public DemoBase( string description, string title, DemoType type )

           {

                ArrayList types = new ArrayList();

                types.Add( type );

                Init( description, title, types );

           }

           public DemoBase( string description, string title, DemoType type, DemoType type2 )

           {

                ArrayList types = new ArrayList();

                types.Add( type );

                types.Add( type2 );

                Init( description, title, types );

           }

           public DemoBase( string description, string title, ICollection types )

           {

                Init( description, title, types );

           }

           private void Init( string description, string title, ICollection types )

           {

                this.description = description;

                this.title = title;

                this.types = types;

                control = new ZedGraphControl();

           }

函數中的變量含義如下:

Description:對此結構的描述。

Title:在樹形結構(TreeView)中顯示的標題。

Types:要把此類顯示在哪個樹形結構的區域中。若有多個Types,則把此類分入不同的樹形區域中。例 如MasterPane Sample在Tutorial Sample和 Special Features兩個區域都有。見圖中的相應區域標注。

myPane.Title = "My Test Graphn(For CodeProject Sample)";

                myPane.XAxis.Title = "My X Axis";

                myPane.YAxis.Title = "My Y Axis";

分別指定這個Pane的title、XAxis和YAxis的標題。見上圖。

PointPairList list1 = new PointPairList();

                PointPairList list2 = new PointPairList();

                for ( int i=0; i<36; i++ )

                {

                     double x = (double) i + 5;

                     double y1 = 1.5 + Math.Sin( (double) i * 0.2 );

                     double y2 = 3.0 * ( 1.5 + Math.Sin( (double) i * 0.2 ) );

                     list1.Add( x, y1 );

                     list2.Add( x, y2 );

                }

PointPairList類是一個集合類,繼承自

System.Object
                                                                 System.Collections.CollectionBase                                                                          ZedGraph.CollectionPlus

它是PointPair對象的集合,PointPair類是一個包含(X,Y)的坐標類。

其中的for循環在為兩個PointPairList復值。

LineItem myCurve = myPane.AddCurve( "Porsche", list1, Color.Red, SymbolType.Diamond );

LineItem類是ZedGraph中的線條類.

myPane.AddCurve( "Porsche", list1, Color.Red, SymbolType.Diamond );

的意思是將剛剛賦值的list以”Porsche”這個名字以紅色和水晶形狀畫到Pane中,這個函數的返回值 是一個LineItem。你可以通過myCurve這個變量來對它進行進一步的設定。其中SymbolType是個Enum,它 枚舉了12個可供使用的形狀

最後一步就是刷新了。base.ZedGraphControl.AxisChange();

這樣整個程序就完成了,簡單吧,其實這是個簡單的應該,以後會介紹更加復雜的用法和類庫。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved