從一個輿論調查的制作談面向對象的編程思路(3)
發表時間:2024-02-09 來源:明輝站整理相關軟件相關文章人氣:
[摘要]現在你是不是發現已經可以用這個類來進行輿論調查的操作了?但這個類里還沒有任何的頁面html 輸出,所以現在的問題就是做頁面顯示層了,但現在又面臨一個問題,那就是如何顯示調查結果的問題,比較流行的做法是用圖表來表示,可以根據需要選擇條形圖、餅性圖或折線圖等等,那么如果在這個調查類里來做也可以,但實在...
現在你是不是發現已經可以用這個類來進行輿論調查的操作了?但這個類里還沒有任何的頁面html
輸出,所以現在的問題就是做頁面顯示層了,但現在又面臨一個問題,那就是如何顯示調查結果的問題,
比較流行的做法是用圖表來表示,可以根據需要選擇條形圖、餅性圖或折線圖等等,那么如果在這個調查
類里來做也可以,但實在太不上算,應該單獨做這么一個圖表類,可以根據條件畫這種圖表,下面就是這
個類的定義:
namespace MyClass.Util
{
using System;
using System.Collections ;
using System.Drawing ;
/// <summary>
/// MyChart是一個統計圖類,可以生成餅形圖、條形圖和折線圖
/// </summary>
public class MyChart : object
{
/// <summary>
/// 枚舉類型
/// </summary>
/// <remarks>
/// 三種類型,餅形圖是pie , 條形圖是bar , 折線圖是curve
/// </remarks>
public enum ChartType
{
Pie = 0 ,
Bar = 1 ,
Curve = 2
};
/// <summary>
/// 統計圖標題
/// </summary>
private string m_strTitle ;
/// <summary>
/// 統計圖項目數組,數組元素是ChartItem類
/// </summary>
/// <remarks>
/// 所有統計圖項目的百分比和等于100。
/// </remarks>
private ArrayList m_arrItems ;
/// <summary>
/// 計量單位
/// </summary>
private string m_strUnit ;
/// <summary>
/// 生成統計圖的寬度
/// </summary>
/// <remarks>
/// 默認是200
/// </remarks>
private int m_intWidth ;
/// <summary>
/// 生成統計圖的高度
/// </summary>
/// <remarks>
/// 默認是200
/// </remarks>
private int m_intHeight ;
/// <summary>
/// 生成統計圖的背景色
/// </summary>
private System.Drawing.Color m_objBackColor ;
/// <summary>
/// 統計圖類型
/// </summary>
/// <remarks>
/// 默認是餅形圖
/// </remarks>
private ChartType m_intChartType ;
/// <summary>
/// 總數
/// </summary>
private int m_intTotalCount ;
/// <summary>
/// 總數,只讀
/// </summary>
public int TotalCount
{
get
{
return m_intTotalCount ;
}
}
/// <summary>
/// 統計圖的標題
/// </summary>
public string Title
{
get
{
return m_strTitle ;
}
set
{
m_strTitle = value ;
}
}
/// <summary>
/// 統計圖項數組
/// </summary>
/// <remarks>
/// 這個屬性只讀,若要添加項目,用AddItem函數
/// </remarks>
public ArrayList Items
{
get
{
return m_arrItems ;
}
}
/// <summary>
/// 統計圖寬度
/// </summary>
public int Width
{
get
{
return m_intWidth ;
}
set
{
m_intWidth = value ;
}
}
/// <summary>
/// 計量單位
/// </summary>
public string Unit
{
get
{
return m_strUnit ;
}
set
{
m_strUnit = value ;
}
}
/// <summary>
/// 統計圖高度
/// </summary>
public int Height
{
get
{
return m_intHeight ;
}
set
{
m_intHeight = value ;
}
}
/// <summary>
/// 統計圖背景色
/// </summary>
public System.Drawing.Color BackColor
{
get
{
return m_objBackColor ;
}
set
{
m_objBackColor = value ;
}
}
/// <summary>
/// 圖表類型,這個決定生成的圖片采用什么形式
/// </summary>
/// <remarks>
/// Pie : 餅形圖
/// Bar: 條形圖
/// Curve: 折線圖
public ChartType Type
{
get
{
return m_intChartType ;
}
set
{
m_intChartType = value ;
}
}
/// <summary>
/// 構造函數
/// </summary>