以下为工作中遇到的,备注一下

先需要几个辅助类

  1 #region GripBounds
  2 
  3 using System.Drawing;
  4 internal struct GripBounds
  5 {
  6     private const int GripSize = 6;
  7     private const int CornerGripSize = GripSize << 1;
  8 
  9     public GripBounds(Rectangle clientRectangle)
 10     {
 11         this.clientRectangle = clientRectangle;
 12     }
 13 
 14     private Rectangle clientRectangle;
 15     public Rectangle ClientRectangle
 16     {
 17         get { return clientRectangle; }
 18         //set { clientRectangle = value; }
 19     }
 20 
 21     public Rectangle Bottom
 22     {
 23         get
 24         {
 25             Rectangle rect = ClientRectangle;
 26             rect.Y = rect.Bottom - GripSize + 1;
 27             rect.Height = GripSize;
 28             return rect;
 29         }
 30     }
 31 
 32     public Rectangle BottomRight
 33     {
 34         get
 35         {
 36             Rectangle rect = ClientRectangle;
 37             rect.Y = rect.Bottom - CornerGripSize + 1;
 38             rect.Height = CornerGripSize;
 39             rect.X = rect.Width - CornerGripSize + 1;
 40             rect.Width = CornerGripSize;
 41             return rect;
 42         }
 43     }
 44 
 45     public Rectangle Top
 46     {
 47         get
 48         {
 49             Rectangle rect = ClientRectangle;
 50             rect.Height = GripSize;
 51             return rect;
 52         }
 53     }
 54 
 55     public Rectangle TopRight
 56     {
 57         get
 58         {
 59             Rectangle rect = ClientRectangle;
 60             rect.Height = CornerGripSize;
 61             rect.X = rect.Width - CornerGripSize + 1;
 62             rect.Width = CornerGripSize;
 63             return rect;
 64         }
 65     }
 66 
 67     public Rectangle Left
 68     {
 69         get
 70         {
 71             Rectangle rect = ClientRectangle;
 72             rect.Width = GripSize;
 73             return rect;
 74         }
 75     }
 76 
 77     public Rectangle BottomLeft
 78     {
 79         get
 80         {
 81             Rectangle rect = ClientRectangle;
 82             rect.Width = CornerGripSize;
 83             rect.Y = rect.Height - CornerGripSize + 1;
 84             rect.Height = CornerGripSize;
 85             return rect;
 86         }
 87     }
 88 
 89     public Rectangle Right
 90     {
 91         get
 92         {
 93             Rectangle rect = ClientRectangle;
 94             rect.X = rect.Right - GripSize + 1;
 95             rect.Width = GripSize;
 96             return rect;
 97         }
 98     }
 99 
100     public Rectangle TopLeft
101     {
102         get
103         {
104             Rectangle rect = ClientRectangle;
105             rect.Width = CornerGripSize;
106             rect.Height = CornerGripSize;
107             return rect;
108         }
109     }
110 }
111 
112 #endregion
View Code

相关文章: