該MyRectangle類圖如下:
MyRectangle需包含如下屬性
int X記錄矩形左上角x坐標
int Y記錄矩形左上角y坐標
int DownPointX繪制矩形時鼠標落點x坐標
int DownPointY繪制矩形時鼠標落點y坐標
int Width矩形寬
int Height矩形高
int MinWidth 矩形最小寬度
int MinHeight 矩形最小高度
bool ChangeSizeMode 標識矩形當前繪制模式是否為“改變大小”
bool MoveMode 標識矩形當前繪制模式是否為“移動”
bool MouSEOnLeftTop 標識鼠標當前位置是否在矩形左上角
bool MouSEOnLeftMiddle 標識鼠標當前位置是否在矩形左邊中點
bool MouSEOnLeftBottom 標識鼠標當前位置是否在矩形左下角
bool MouSEOnRightTop 標識鼠標當前位置是否在矩形右上角
bool MouSEOnRightMiddle 標識鼠標當前位置是否在矩形右邊中點
bool MouSEOnRightBottom 標識鼠標當前位置是否在矩形右下角
bool MouSEOnTopMiddle 標識鼠標當前位置是否在矩形頂邊中點
bool MouSEOnBottomMiddle 標識鼠標當前位置是否在矩形底邊中點
bool MouSEOnMiddle 標識鼠標當前位置是否在矩形中心
int LittleRectangleWidth 矩形周邊8個小矩形的寬度
int LittleRectangleHeight 矩形周邊8個小矩形的高度
Rectangle LeftTopRectangle 矩形左上角小矩形
Rectangle LeftMiddleRectangle 矩形左邊中點小矩形
Rectangle LeftBottomRectangle 矩形左下角小矩形
Rectangle RightTopRectangle 矩形右上角小矩形
Rectangle RightMiddleRectangle 矩形右邊中點小矩形
Rectangle RightBottomRectangle 矩形右下角小矩形
Rectangle TopMiddleRectangle 矩形頂邊中點小矩形
Rectangle BottomMiddleRectangle 矩形底邊中點小矩形
Rectangle Rect 主體矩形
Size Size 矩形大小
Image BackImage 背景圖片
Cursor MyCursor 光標樣式
矩形本身包含監測當前繪制模式和繪制方法,主要方法成員如下:
SetLittleRectangle() 設置8個小矩形
Draw(Color backColor) 繪制方法,+1重載
ChangeSize(MouseEventArgs e) 改變矩形大小
Move(int newX, int newY) 改變矩形位置
CheckMouseLocation(MouseEventArgs e) 判斷鼠標當前落點
setAllModeFalse() 將所有模式設定為false
public bool onChangingMode() 判斷當前繪制模式是否為“改變大小”或“移動”
Initialize(int x, int y, int width, int height) 根據給定參數初始化矩形