亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? zonesequence.cs

?? Magic Library 1.7,有說明文檔
?? CS
?? 第 1 頁 / 共 4 頁
字號:
												// Keep count of total left to grab
												diff -= target.ZoneArea;
		
												// Window no longer has any ZoneArea											
												target.ZoneArea = 0m;
											}
											else
											{
												// Allocate it extra space
												target.ZoneArea -= extra;

												// Keep count of total left to grab
												diff -= extra;
											}
										}
									}
								}
							}
						}

						w.ZoneArea = newSpace;
					}
				}
			}

			// Recalculate the size and position of each Window and resize bar
			RepositionControls();
		}

        protected void AddHotZoneWithIndex(HotZoneCollection collection, Rectangle zoneArea, int length, int index)
        {
            // Find hot area and new size for first docking position
            Rectangle hotArea = zoneArea;
            Rectangle newSize = zoneArea;

            if (_direction == Direction.Vertical)
            {
                hotArea.Height = _hotVectorBeforeControl;
                newSize.Height = length;
            }
            else
            {
                hotArea.Width = _hotVectorBeforeControl;
                newSize.Width = length;
            }

            collection.Add(new HotZoneSequence(hotArea, newSize, this, index));				
        }
		
        protected override void OnWindowsClearing()
        {
            base.OnWindowsClearing();

            // Make sure no Window is recorded as maximized
            _maximizedWindow = null;

            // Remove all child controls
            Controls.Clear();

            if (!this.AutoDispose)
            {
                // Add back the Zone resize bar
                Controls.Add(_resizeBar);

                Invalidate();
            }
        }

        protected override void OnWindowInserted(int index, object value)
        {
            base.OnWindowInserted(index, value);

            Window w = value as Window;

            // Is this the first Window entry?
            if (_windows.Count == 1)
            {
                // Use size of the Window to determine our new size
                Size wSize = w.Size;

                // Adjust to account for the ResizeBar
                switch(this.Dock)
                {
                    case DockStyle.Left:
                    case DockStyle.Right:
                        wSize.Width += _resizeBar.Width;
                        break;
                    case DockStyle.Top:
                    case DockStyle.Bottom:
                        wSize.Height += _resizeBar.Height;
                        break;
                }

                this.Size = wSize;

                // Add the Window to the appearance
                Controls.Add(w);

                // Reposition to the start of the collection
                Controls.SetChildIndex(w, 0);
            }
            else
            {
                ResizeBar bar = new ResizeBar(_direction, this);

                // Add the bar and Window
                Controls.Add(bar);
                Controls.Add(w);

                // Adding at start of collection?
                if (index == 0)
                {
                    // Reposition the bar and Window to start of collection
                    Controls.SetChildIndex(bar, 0);
                    Controls.SetChildIndex(w, 0);
                }
                else
                {
                    int	pos = index * 2 - 1;

                    // Reposition the bar and Window to correct relative ordering
                    Controls.SetChildIndex(bar, pos++);
                    Controls.SetChildIndex(w, pos);
                }
            }

            // Allocate space for the new Window from other Windows
            AllocateWindowSpace(w);

            // Recalculate the size and position of each Window and resize bar
            RepositionControls();

            // Inform all interested parties of possible change in maximized state
            OnRefreshMaximize(EventArgs.Empty);
        }

        protected override void OnWindowRemoving(int index, object value)
        {
            base.OnWindowRemoving(index, value);

            Window w = value as Window;

            // If the Window being removed the maximized one?
            if (_maximizedWindow == w)
                _maximizedWindow = null;

            // Is this the only Window entry?
            if (_windows.Count == 1)
            {
                // Remove Window from appearance

				// Use helper method to circumvent form Close bug
				ControlHelper.RemoveAt(this.Controls, 0);
            }
            else
            {
                int pos = 0;

                // Calculate position of Window to remove				
                if (index != 0)
                    pos = index * 2 - 1;

                // Remove Window and bar 

				// Use helper method to circumvent form Close bug
				ControlHelper.RemoveAt(this.Controls, pos);
				ControlHelper.RemoveAt(this.Controls, pos);
            }

            // Redistribute space taken up by Window to other windows
            RemoveWindowSpace(w);
        }

        protected override void OnWindowRemoved(int index, object value)
        {
            base.OnWindowRemoved(index, value);

            // Recalculate the size and position of each Window and resize bar
            RepositionControls();

            // Inform all interested parties of possible change in maximized state
            OnRefreshMaximize(EventArgs.Empty);
        }

        protected void AllocateWindowSpace(Window w)
        {
            // Is this the only Window?
            if (_windows.Count == 1)
            {
                // Give it all the space
                w.ZoneArea = 100m;
            }
            else
            {
                // Calculate how much space it should have
                Decimal newSpace = 100m / _windows.Count;

                // How much space should we steal from each of the others
                Decimal reduceSpace = newSpace / (_windows.Count - 1);

                // Actual space acquired
                Decimal allocatedSpace = 0m;

                foreach(Window entry in _windows)
                {
                    if (entry != w)
                    {
                        // How much space the entry currently has
                        Decimal currentSpace = entry.ZoneArea;

                        // How much space to steal from it
                        Decimal xferSpace = reduceSpace;

                        // Does it have at least the requested amount of space?
                        if (currentSpace < xferSpace)
                            xferSpace = currentSpace;

                        // Transfer the space across
                        currentSpace -= xferSpace;

                        // Round the sensible number of decimal places
                        currentSpace = Decimal.Round(currentSpace, _spacePrecision);

                        // Update window with new space allocation
                        entry.ZoneArea = currentSpace;

                        allocatedSpace += currentSpace;
                    }
                }

                // Assign allocated space to new window
                w.ZoneArea = 100m - allocatedSpace;
            }
        }

        protected void ModifyWindowSpace(Window w, int vector)
        {
            // Remove any maximized state
            if (_maximizedWindow != null)
            {
                // Make the maximized Window have all the space
                foreach(Window entry in _windows)
                {
                    if (entry == _maximizedWindow)
                        entry.ZoneArea = 100m;
                    else
                        entry.ZoneArea = 0m; 
                }

                // Remove maximized state
                _maximizedWindow = null;

                // Inform all interested parties of change
                OnRefreshMaximize(EventArgs.Empty);
            }

            Rectangle clientRect = this.ClientRectangle;

            RepositionZoneBar(ref clientRect);

            // Space available for allocation
            int space;

            // New pixel length of the modified Window
            int newLength = vector;
			
            if (_direction == Direction.Vertical)
            {
                space = clientRect.Height;

                // New pixel size is requested change plus original 
                // height minus the minimal size that is always added
                newLength += w.Height;
                newLength -= w.MinimalSize.Height;
            }
            else
            {
                space = clientRect.Width;

                // New pixel size is requested change plus original 
                // width minus the minimal size that is always added
                newLength += w.Width;
                newLength -= w.MinimalSize.Width;
            }

            int barSpace = 0;

            // Create temporary array of working values
            Position[] positions = new Position[Controls.Count - 1];

            // Pass 1, allocate all the space needed for each ResizeBar and the 
            //         minimal amount of space that each Window requests. 
            AllocateMandatorySizes(ref positions, ref barSpace, ref space);

            // What is the new percentage it needs?
            Decimal newPercent = 0m;

            // Is there any room to allow a percentage calculation
            if ((newLength > 0) && (space > 0))
                newPercent = (Decimal)newLength / (Decimal)space * 100;

            // What is the change in area
            Decimal reallocate = newPercent - w.ZoneArea;

            // Find the Window after this one
            Window nextWindow = _windows[_windows.IndexOf(w) + 1];

            if ((nextWindow.ZoneArea - reallocate) < 0m)
                reallocate = nextWindow.ZoneArea;
	
            // Modify the Window in question
            w.ZoneArea += reallocate;

            // Reverse modify the Window afterwards
            nextWindow.ZoneArea -= reallocate;
			
            // Update the visual appearance
            RepositionControls();
        }

        protected Decimal ReduceAreaEvenly(int thisIndex, Decimal windowAllocation)
        {
            Decimal removed = 0m;

            // Process each Window after this one in the collection
            for(int index=thisIndex + 1; index<_windows.Count; index++)
            {
                Decimal zoneArea = _windows[index].ZoneArea;

                if (zoneArea > 0m)
                {
                    if (zoneArea >= windowAllocation)
                    {
                        // Reduce the area available for this Window
                        _windows[index].ZoneArea -= windowAllocation;

                        // Keep total of all area removed
                        removed += windowAllocation;
                    }
                    else
                    {
                        // Remove all the area from this Window
                        _windows[index].ZoneArea = 0m;

                        // Keep total of all area removed
                        removed += zoneArea;
                    }
                }
            }

            return removed;
        }
		
        protected void RemoveWindowSpace(Window w)
        {
            // Is there only a single Window left?
            if (_windows.Count == 1)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区在线播放| 日韩欧美成人激情| 久久99久久99小草精品免视看| 久久久精品国产免大香伊| 日本大香伊一区二区三区| 久久91精品久久久久久秒播| 中文字幕五月欧美| 精品国产乱码久久| 欧美日韩国产中文| 99久久国产综合精品麻豆| 看电视剧不卡顿的网站| 亚洲一区日韩精品中文字幕| 欧美韩日一区二区三区| 欧美一卡二卡三卡四卡| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美丝袜丝nylons| 国产不卡视频在线播放| 九九九久久久精品| 天堂午夜影视日韩欧美一区二区| 国产精品久久久久久久久免费相片 | 悠悠色在线精品| 久久久国产一区二区三区四区小说| 欧美亚洲日本国产| 日本韩国一区二区三区| 成人va在线观看| 国产成人免费高清| 精久久久久久久久久久| 日韩电影在线一区二区| 亚洲高清视频中文字幕| 一区二区三区四区在线播放 | 美女www一区二区| 午夜影院久久久| 亚洲最色的网站| 一区二区三区加勒比av| 亚洲欧美日韩国产手机在线 | 91福利精品视频| 成人av中文字幕| 成人在线综合网| 国产成人午夜精品5599| 韩国女主播一区| 国产成人高清在线| 成人免费黄色大片| www.色综合.com| 97超碰欧美中文字幕| 99久久久精品| 色网综合在线观看| 欧美图区在线视频| 欧美日韩视频在线观看一区二区三区| 色婷婷综合激情| 欧美日免费三级在线| 欧美精品九九99久久| 欧美日韩不卡一区| 日韩欧美久久久| 久久久久久久久久久黄色| 国产日产欧美一区| 中文字幕中文字幕一区| 亚洲精品乱码久久久久久久久 | 麻豆精品国产传媒mv男同| 久久99热这里只有精品| 久久99久久99| 不卡av在线网| 色综合一区二区三区| 欧美日韩视频在线观看一区二区三区 | 久久精品亚洲乱码伦伦中文| 欧美国产综合一区二区| 亚洲欧美区自拍先锋| 午夜亚洲国产au精品一区二区| 日韩av在线发布| 国产成人精品免费一区二区| 91蜜桃视频在线| 91麻豆精品国产91久久久久久| 欧美zozo另类异族| 亚洲欧洲国产专区| 日韩精品视频网| 国产成人亚洲精品青草天美| 日本国产一区二区| 日韩免费在线观看| 中文字幕高清一区| 亚洲高清不卡在线| 国产成人亚洲精品青草天美| 欧美性色黄大片| 久久免费看少妇高潮| 夜夜揉揉日日人人青青一国产精品| 秋霞影院一区二区| 白白色亚洲国产精品| 日韩欧美久久久| 一区二区三区欧美激情| 精品一二线国产| 91久久免费观看| 久久午夜国产精品| 午夜精品久久久| 成人avav影音| 亚洲精品一区二区精华| 亚洲网友自拍偷拍| 成人一区二区三区中文字幕| 欧美日韩第一区日日骚| 国产精品狼人久久影院观看方式| 同产精品九九九| 成人激情校园春色| 精品欧美一区二区久久| 亚洲综合偷拍欧美一区色| 国产成人在线观看免费网站| 91精品国产一区二区三区蜜臀 | 欧美一二三四区在线| 国产精品毛片a∨一区二区三区| 日韩国产精品大片| 91久久精品网| 国产精品乱人伦| 国模娜娜一区二区三区| 欧美一区二区三区不卡| 夜夜夜精品看看| 91蜜桃免费观看视频| 久久精品亚洲一区二区三区浴池| 日韩成人免费在线| 欧美日韩大陆一区二区| 夜夜爽夜夜爽精品视频| 99精品视频在线播放观看| 国产亚洲污的网站| 紧缚奴在线一区二区三区| 欧美精品18+| 亚洲国产精品久久久男人的天堂 | 性做久久久久久| 91国偷自产一区二区三区观看| 欧美国产综合色视频| 国产一区二区三区在线看麻豆| 欧美一区二视频| 日本不卡123| 91精品婷婷国产综合久久| 亚洲成av人片一区二区三区| 91精品91久久久中77777| 亚洲欧美日韩国产另类专区| av动漫一区二区| 亚洲欧洲国产专区| 色94色欧美sute亚洲13| 一区二区三区在线视频播放| 日本高清视频一区二区| 亚洲国产综合在线| 欧美日韩三级视频| 日韩电影一区二区三区四区| 欧美日韩中文一区| 午夜精品福利一区二区三区av | 成人黄色免费短视频| 国产精品视频免费看| 成人涩涩免费视频| 亚洲欧美偷拍三级| 在线精品视频一区二区三四| 亚洲夂夂婷婷色拍ww47| 欧美日韩一区不卡| 日本亚洲欧美天堂免费| 日韩一区二区三| 国精品**一区二区三区在线蜜桃| 久久久久久毛片| 不卡一区二区中文字幕| 一区二区三区自拍| 欧美日本高清视频在线观看| 蜜臀va亚洲va欧美va天堂| 精品国产乱码久久久久久免费| 国产精品1区2区3区| 亚洲欧洲日产国产综合网| 欧洲视频一区二区| 美女网站一区二区| 国产日韩一级二级三级| 色先锋aa成人| 另类小说色综合网站| 欧美经典一区二区| 91福利精品第一导航| 麻豆精品视频在线观看免费| 欧美激情一区不卡| 欧美片在线播放| 国产一区二区三区美女| 亚洲人成网站精品片在线观看| 精品视频免费在线| 久久精品国产精品青草| 国产精品麻豆久久久| 欧美电影一区二区三区| 国产精品99精品久久免费| 亚洲综合久久av| 欧美一级欧美三级在线观看| 国产成人精品亚洲午夜麻豆| 亚洲444eee在线观看| 久久精品免费在线观看| 在线影视一区二区三区| 国产一区视频网站| 一区二区免费在线播放| 精品福利在线导航| 在线视频你懂得一区| 激情五月激情综合网| 一区二区激情小说| 久久久亚洲国产美女国产盗摄 | 麻豆一区二区99久久久久| 中文字幕一区av| 26uuu国产电影一区二区| 在线观看网站黄不卡| 国产盗摄一区二区| 午夜伦欧美伦电影理论片| 国产精品毛片高清在线完整版| 日韩一区二区中文字幕| 91国产成人在线| 波多野结衣的一区二区三区| 麻豆精品在线播放|