?? outer.cs
字號:
using System;
using System.Drawing;
namespace GoldPrinter
{
/// <summary>
/// Outer,網格體之外的對象,通常用于表頭表底做表體的附加信息
///
/// 程序提供:周方勇;Email:flygoldfish@sina.com。
/// 請 關 注:WebMIS.Net快速開發工具,不寫一行程序開發B/S架構下MIS、OA、CRM、人事管理、檔案管理等數據庫網頁系統。簡單、實用、穩定、可靠。
/// 下 載:
/// 上海奧聯:WWW.AlinkSoft.COM
/// 用友華表:WWW.CellSoft.CC
///★★★★★您可以免費使用此程序,但是請您保留此說明,以維護知識產權★★★★★
/// </summary>
public class Outer:Printer
{
//核心為網格對象,不對最終用戶公開
protected DrawGrid mdrawGrid;
//標識是否初始了行列數,只在兩個地方修改,Initialize(int rows, int cols)或SetText(char rowSplit,char colSplit,string text)。
//只有初始了,才能執行Draw()操作。
protected bool mblnHadInitialized;
public Outer()
{
mblnHadInitialized = false;
this.IsDrawAllPage = false;
mdrawGrid = new DrawGrid();
mdrawGrid.AlignMent = AlignFlag.Left;
mdrawGrid.ColsAlignString = "";
mdrawGrid.Border = GridBorderFlag.None;
mdrawGrid.Line = GridLineFlag.None;
mdrawGrid.Merge = GridMergeFlag.None;
this.Font = new Font("宋體",11);
mdrawGrid.RowHeight = this.Font.Height;
mdrawGrid.Initialize(0,0);
}
public object DataSource
{
get
{
return this.mdrawGrid.DataSource;
}
set
{
this.mdrawGrid.DataSource = value;
}
}
public string[,] Text
{
get
{
return this.mdrawGrid.GridText;
}
set
{
this.mdrawGrid.GridText = value;
}
}
/// <summary>
/// 獲取是否能執行繪制操作,只有初始了對象的行列數才可以執行Draw()操作
/// </summary>
/// <returns></returns>
public bool CanDraw
{
get
{
return this.mblnHadInitialized;
}
}
public int RowHeight
{
get
{
return mdrawGrid.RowHeight;
}
set
{
mdrawGrid.RowHeight = value;
}
}
#region IOuter 成員
/// <summary>
/// 初始行列數
/// </summary>
/// <param name="rows">初始對象的行數</param>
/// <param name="cols">初始對象的列數</param>
public virtual void Initialize(int rows, int cols)
{
mblnHadInitialized = true;
mdrawGrid.Initialize(rows,cols);
}
/// <summary>
/// 獲取對象的行數
/// </summary>
public int Rows
{
get
{
return mdrawGrid.Rows;
}
}
/// <summary>
/// 獲取對象的列數
/// </summary>
public int Cols
{
get
{
return mdrawGrid.Cols;
}
}
/// <summary>
/// 獲取對象的高
/// </summary>
public override float Height
{
get
{
return mdrawGrid.Rows * mdrawGrid.RowHeight;
}
}
/// <summary>
/// 指定繪制區域
/// </summary>
System.Drawing.Rectangle Rectangle
{
get
{
return mdrawGrid.Rectangle;
}
set
{
mdrawGrid.Rectangle = value;
}
}
/// <summary>
/// 為對象指定單元設置文本值
/// </summary>
/// <param name="row">單元行</param>
/// <param name="col">單元列</param>
/// <param name="text">文本值</param>
public virtual void SetText(int row, int col, string text)
{
mdrawGrid.SetText(row,col,text);
}
/// <summary>
/// 用指定的行列分隔分隔的一串字符串,些操作默認已執行初始行列數
/// </summary>
/// <param name="text"></param>
/// <param name="colSplit"></param>
public virtual void SetText(char rowSplit,char colSplit,string text)
{
mdrawGrid.SetText(rowSplit,colSplit,text);
//mblnHadInitialized = true;
}
/// <summary>
/// 獲取對象指定單元文本值
/// </summary>
/// <param name="row">單元行</param>
/// <param name="col">單元列</param>
/// <returns></returns>
public virtual string GetText(int row, int col)
{
return mdrawGrid.GetText(row,col);
}
/// <summary>
/// 在繪圖表面繪制對象繪制文本
/// </summary>
public override void Draw()
{
if (mblnHadInitialized)
{
base.Draw();
//在指定的區域內繪制文本
mdrawGrid.Rectangle = new Rectangle((int)this.RectangleF.X + (int)this.MoveX,(int)this.RectangleF.Y + (int)this.MoveY,(int)this.RectangleF.Width,(int)this.RectangleF.Height);
mdrawGrid.Graphics = this.Graphics;
mdrawGrid.Draw();
}
else
{
throw new Exception("對象的行列數還未初始,請用Initialize()進行操作!");
}
}
#endregion
}//End Class
}//End NameSpace
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -