直接贴代码,别让我再看到上次评论里的"怎么用啊?","能不能给我发份代码?"之类的屁话!
1
using System;
2
using System.ComponentModel;
3
using System.Collections.Generic;
4
using System.Diagnostics;
5
using System.Text;
6
using System.Drawing;
7
using System.Runtime.InteropServices;
8
using System.Windows.Forms;
9![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
namespace autoDockWindow
11
{
12
[Description("窗体自动靠边隐藏完美组件 @Author: Red_angelX")]
13
public partial class autoDockManager : Component
14
{
15
private Form _form;
16![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
public autoDockManager()
18
{
19
InitializeComponent();
20
}
21![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
public autoDockManager(IContainer container)
23
{
24
container.Add(this);
25
InitializeComponent();
26
}
27![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
[Description("用于控制要自动Dock的窗体")]
29
public Form dockForm
30
{
31
get
32
{
33
return _form;
34
}
35
set
36
{
37
_form = value;
38
if (_form != null)
39
{
40
if (_form.TopMost == false)
41
_form.TopMost = true;
42![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
43
if (DesignMode)
44
return;
45![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
nativeDockWindow dockWindow = new nativeDockWindow();
47
dockWindow.AssignHandle(_form.Handle);
48
}
49
}
50
}
51
}
52![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
public class nativeDockWindow : NativeWindow
54
{
55
IntPtr handle = IntPtr.Zero;
56
Form baseForm = null;
57![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
58
const int HM_NONE = 0; //不收缩
59
const int HM_TOP = 1; //向上收缩
60
const int HM_BOTTOM = 2; //向下收缩
61
const int HM_LEFT = 3; //向左收缩
62
const int HM_RIGHT = 4; //向右收缩
63![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
const int INTERVAL = 20; //触发粘附的最小间隔,单位为象素
65
const int INFALTE = 4; //触发收缩的小间隔,单位为象素
66![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
68
bool m_isWndHide = false; //窗口是否隐藏
69
bool m_isSizeChanged = false; //窗口大小是否改变了
70
bool m_isSetTimer = false; //窗口大小是否改变了
71
int m_oldWndHeight; //旧的窗口宽度
72
int m_hideMode = HM_NONE; //隐藏模式
73![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
74
Timer checkTimer = new Timer(); //定时器
75![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
76
protected override void OnHandleChange()
77
{
78
handle = this.Handle;
79
if (handle != IntPtr.Zero)
80
{
81
baseForm = (Form)Form.FromHandle(handle);
82
checkTimer.Interval = 200;
83
checkTimer.Tick +=new EventHandler(checkTimer_Tick);
84
}
85
base.OnHandleChange();
86
}
87![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
88
//修正移动时窗口的大小
89
void FixMoving(ref Message m)
90
{
91
//已经隐藏了的情况
92
if (m_hideMode != HM_NONE && m_isWndHide == true)
93
{
94
return;
95
}
96![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
97
if (Control.MousePosition.Y <= INTERVAL)
98
{ //粘附在上边
99
m_hideMode = HM_TOP;
100
}
101
else if (Control.MousePosition.Y >= (Screen.PrimaryScreen.Bounds.Width - INTERVAL))
102
{ //粘附在下边
103
m_hideMode = HM_BOTTOM;
104
}
105
else if (Control.MousePosition.X < INTERVAL)
106
{ //粘附在左边
107
if (!m_isSizeChanged)
108
{
109
m_oldWndHeight = baseForm.Height;
110
}
111
m_isSizeChanged = true;
112
m_hideMode = HM_LEFT;
113
}
114
else if (Control.MousePosition.X >= (Screen.PrimaryScreen.Bounds.Width - INTERVAL))
115
{ //粘附在右边
116
if (!m_isSizeChanged)
117
{
118
m_oldWndHeight = baseForm.Height;
119
}
120
m_isSizeChanged = true;
121
m_hideMode = HM_RIGHT;
122
}
123
else
124
{ //不粘附
125![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
126
if (m_isSizeChanged)
127
{ //如果收缩到两边,则拖出来后会变回原来大小
128
//在"拖动不显示窗口内容下"只有光栅变回原来大小
129
int left = Marshal.ReadInt32(m.LParam, sizeof(int) * 0);
130
int top = Marshal.ReadInt32(m.LParam, sizeof(int) * 1);
131
int right = Marshal.ReadInt32(m.LParam, sizeof(int) * 2);
132
Marshal.WriteInt32(m.LParam, sizeof(int) * 0, left); // left
133
Marshal.WriteInt32(m.LParam, sizeof(int) * 1, top); // top
134
Marshal.WriteInt32(m.LParam, sizeof(int) * 2, right); // right
135
Marshal.WriteInt32(m.LParam, sizeof(int) * 3, top + m_oldWndHeight); // bottom
136
m_isSizeChanged = false;
137
}
138
if (m_isSetTimer)
139
{ //如果Timer开启了,则关闭之
140
checkTimer.Stop();
141
m_isSetTimer = false;
142
}
143
m_isWndHide = false;
144
m_hideMode = HM_NONE;
145
}
146
}
147![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
148
//从收缩状态显示窗口
149
void DoShow()
150
{
151
if (m_hideMode == HM_NONE || !m_isWndHide)
152
return;
153![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
154
switch (m_hideMode)
155
{
156
case HM_TOP:
157
baseForm.Location = new Point(baseForm.Location.X, 0);
158
m_isWndHide = false;
159
break;
160
case HM_BOTTOM:
161
//不处理
162
//m_isWndHide = false;
163
break;
164
case HM_LEFT:
165
baseForm.Location = new Point(0, 1);
166
m_isWndHide = false;
167
break;
168
case HM_RIGHT:
169
baseForm.Location = new Point(Screen.PrimaryScreen.Bounds.Width - baseForm.Width, 1);
170
m_isWndHide = false;
171
break;
172
default:
173
break;
174
}
175
}
176![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
177
//从显示状态收缩窗口
178
void DoHide()
179
{
180
if (m_hideMode == HM_NONE || m_isWndHide)
181
return;
182![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
183
switch (m_hideMode)
184
{
185
case HM_TOP:
186
//此句必须放在MoveWindow之上,否则大小变成m_wndRect,其他case同样
187
m_isWndHide = true;
188
baseForm.Location = new Point(baseForm.Location.X, (baseForm.Height - INFALTE) * (-1));
189
break;
190
case HM_BOTTOM:
191
//m_isWndHide = true;
192
break;
193
case HM_LEFT:
194
m_isWndHide = true;
195
baseForm.Size = new Size(baseForm.Width, Screen.PrimaryScreen.WorkingArea.Height);
196
baseForm.Location = new Point((-1) * (baseForm.Width - INFALTE), 1);
197
break;
198
case HM_RIGHT:
199
m_isWndHide = true;
200
baseForm.Size = new Size(baseForm.Width, Screen.PrimaryScreen.WorkingArea.Height);
201
baseForm.Location = new Point(Screen.PrimaryScreen.Bounds.Width - INFALTE, 1);
202
break;
203
default:
204
break;
205
}
206
}
207![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
208![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
209
const UInt32 SWP_NOSIZE = 0x0001;
210
const UInt32 SWP_NOMOVE = 0x0002;
211
const UInt32 SWP_NOZORDER = 0x0004;
212
const UInt32 SWP_NOREDRAW = 0x0008;
213
const UInt32 SWP_NOACTIVATE = 0x0010;
214
const UInt32 SWP_FRAMECHANGED = 0x0020; // The frame changed: send WM_NCCALCSIZE
215
const UInt32 SWP_SHOWWINDOW = 0x0040;
216
const UInt32 SWP_HIDEWINDOW = 0x0080;
217
const UInt32 SWP_NOCOPYBITS = 0x0100;
218
const UInt32 SWP_NOOWNERZORDER = 0x0200; // Don't do owner Z ordering
219
const UInt32 SWP_NOSENDCHANGING = 0x0400; // Don't send WM_WINDOWPOSCHANGING
220![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
221
[DllImport("user32.dll")]
222
static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X,
223
int Y, int cx, int cy, uint uFlags);
224![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
225
[DllImport("user32.dll")]
226
[return: MarshalAs(UnmanagedType.Bool)]
227
static extern bool GetWindowRect(IntPtr hWnd, out RECT lpRect);
228![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
229
//这个结构在改lparam时要用到
230
[StructLayout(LayoutKind.Sequential)]
231
public struct RECT
232
{
233
public int Left;
234
public int Top;
235
public int Right;
236
public int Bottom;
237
}
238![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
239
[DllImport("user32.dll")]
240
[return: MarshalAs(UnmanagedType.Bool)]
241
static extern bool GetCursorPos(out Point lpPoint);
242![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
243
[DllImport("user32.dll")]
244
static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth,
245
int nHeight, bool bRepaint);
246![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
247
[DllImport("user32.dll")]
248
static extern bool InflateRect(ref RECT lprc, int dx, int dy);
249![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
250
[DllImport("user32.dll")]
251
static extern bool PtInRect([In] ref RECT lprc, Point pt);
252![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
253![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
254
private void checkTimer_Tick(object sender, EventArgs e)
255
{
256
RECT tRect;
257
//获取此时窗口大小
258
GetWindowRect(this.Handle, out tRect);
259
//膨胀tRect,以达到鼠标离开窗口边沿一定距离才触发事件
260
InflateRect(ref tRect, INFALTE, INFALTE);
261![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
262
if (!PtInRect(ref tRect, Control.MousePosition)) //如果鼠标离开了这个区域
263
{
264
checkTimer.Stop();
265
m_isSetTimer = false;
266
DoHide(); //隐藏
267
}
268
}
269![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
270
const int WM_NCHITTEST = 0x84;
271
const int WM_MOVING = 0x216;
272
const int WM_MOVE = 0x3;
273
const int WM_SIZING = 0x214;
274
const int HTCAPTION = 0x0002;
275
const int WM_EXITSIZEMOVE = 0x232;
276
const int WM_ENTERSIZEMOVE = 0x231;
277
const int WM_SYSCOMMAND = 0x112;
278
const int SC_SIZE = 0xF000;
279
const int WM_SETTINGCHANGE = 0x1A;
280![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
281
protected override void WndProc(ref Message m)
282
{
283
if (m.Msg == WM_NCHITTEST)
284
{
285
if (m_hideMode != HM_NONE && !m_isSetTimer)
286
{ //鼠标进入时,如果是从收缩状态到显示状态则开启Timer
287
checkTimer.Start();
288
m_isSetTimer = true;
289
DoShow();
290
}
291
}
292
else if (m.Msg == WM_MOVING)
293
{
294
FixMoving(ref m);
295
}
296
else if(m.Msg == WM_ENTERSIZEMOVE)
297
{
298
baseForm.SuspendLayout();
299
}
300
else if (m.Msg == WM_EXITSIZEMOVE)
301
{
302
baseForm.ResumeLayout();
303
}
304
base.WndProc(ref m);
305
}
306
}
307
}
308![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
58
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
60
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
61
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
65
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
66
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
68
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
69
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
70
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
71
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
72
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
73
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
74
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
75
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
76
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
77
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
78
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
79
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
80
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
81
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
82
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
83
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
84
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
85
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
86
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
87
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
88
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
89
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
90
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
91
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
92
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
93
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
94
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
95
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
96
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
97
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
98
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
99
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
100
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
101
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
102
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
103
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
104
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
105
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
106
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
107
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
108
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
109
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
110
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
111
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
112
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
113
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
114
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
115
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
116
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
117
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
118
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
119
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
120
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
121
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
122
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
123
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
124
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
125
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
126
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
127
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
128
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
129
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
130
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
131
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
132
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
133
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
134
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
135
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
136
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
137
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
138
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
139
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
140
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
141
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
142
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
143
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
144
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
145
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
146
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
147
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
148
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
149
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
150
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
151
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
152
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
153
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
154
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
155
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
156
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
157
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
158
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
159
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
160
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
161
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
162
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
163
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
164
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
165
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
166
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
167
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
168
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
169
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
170
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
171
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
172
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
173
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
174
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
175
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
176
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
177
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
178
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
179
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
180
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
181
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
182
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
183
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
184
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
185
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
186
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
187
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
188
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
189
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
190
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
191
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
192
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
193
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
194
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
195
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
196
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
197
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
198
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
199
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
200
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
201
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
202
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
203
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
204
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
205
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
206
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
207
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
208
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
209
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
210
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
211
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
212
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
213
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
214
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
215
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
216
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
217
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
218
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
219
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
220
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
221
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
222
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
223
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
224
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
225
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
226
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
227
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
228
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
229
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
230
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
231
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
232
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
233
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
234
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
235
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
236
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
237
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
238
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
239
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
240
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
241
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
242
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
243
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
244
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
245
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
246
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
247
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
248
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
249
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
250
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
251
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
252
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
253
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
254
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
255
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
256
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
257
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
258
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
259
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
260
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
261
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
262
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
263
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
264
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
265
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
266
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
267
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
268
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
269
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
270
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
271
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
272
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
273
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
274
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
275
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
276
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
277
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
278
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
279
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
280
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
281
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
282
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
283
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
284
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
285
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
286
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
287
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
288
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
289
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
290
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
291
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
292
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
293
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
294
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
295
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
296
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
297
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
298
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
299
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
300
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
301
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
302
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
303
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
304
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
305
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
306
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
307
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
308
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)