MyRectangle 類別完整程式碼如下:
class MyRectangle
{
// 主矩形左上角 X 座標
private int x;
// 繪製主矩形時滑鼠按下點的 X 座標
private int downPointX;
// 主矩形左上角 Y 座標
private int y;
// 繪製主矩形時滑鼠按下點的 Y 座標
private int downPointY;
// 主矩形寬度
private int width;
// 主矩形高度
private int height;
// 主矩形最小寬度
private int minWidth;
// 主矩形最小高度
private int minHeight;
// 標記主矩形是否處於調整大小模式
private bool changeSizeMode;
// 標記主矩形是否處於移動模式
private bool moveMode;
// 滑鼠是否在左上角
private bool mouseOnLeftTop;
// 滑鼠是否在左邊中點
private bool mouseOnLeftMiddle;
// 滑鼠是否在左下角
private bool mouseOnLeftBottom;
// 滑鼠是否在右上角
private bool mouseOnRightTop;
// 滑鼠是否在右邊中點
private bool mouseOnRightMiddle;
// 滑鼠是否在右下角
private bool mouseOnRightBottom;
// 滑鼠是否在上邊中點
private bool mouseOnTopMiddle;
// 滑鼠是否在下邊中點
private bool mouseOnBottomMiddle;
// 滑鼠是否在矩形內部
private bool mouseOnMiddle;
// 8 個小矩形的寬度
private int littleRectangleWidth;
// 8 個小矩形的高度
private int littleRectangleHeight;
// 左上角小矩形
private Rectangle leftTopRectangle;
// 左邊中點小矩形
private Rectangle leftMiddleRectangle;
// 左下角小矩形
private Rectangle leftBottomRectangle;
// 右上角小矩形
private Rectangle rightTopRectangle;
// 右邊中點小矩形
private Rectangle rightMiddleRectangle;
// 右下角小矩形
private Rectangle rightBottomRectangle;
// 上邊中點小矩形
private Rectangle topMiddleRectangle;
// 下邊中點小矩形
private Rectangle bottomMiddleRectangle;
// 主矩形
private Rectangle rect;
// 主矩形大小
private Size size;
// 螢幕背景圖片
private Image backImage;
// 游標樣式
private Cursor myCursor;
// 以下為屬性存取器(Property),包含 X、Y、DownPointX、DownPointY、Width、Height、
// MinWidth、MinHeight、ChangeSizeMode、MoveMode、各滑鼠位置旗標、
// LittleRectangleWidth、LittleRectangleHeight、8 個小矩形、Rect、Size、BackImage、MyCursor
// 以及建構函式、SetLittleRectangle、Draw、ChangeSize、Move、CheckMouseLocation、
// setAllModeFalse、onChangingMode、Initialize 等方法……
}
(完整程式碼較長,此處僅列出核心結構與關鍵成員。)