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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? autohidepanel.cs

?? Magic Library 1.7,有說明文檔
?? CS
?? 第 1 頁 / 共 5 頁
字號:
                                rect.Width = (_slideRect.Width + barSize.Width) / 
                                            _slideSteps * (_slideStep + 1);
                            
                            // Want the right hand side of WCT showing
                            _currentWCT.Location = new Point(rect.Width - _currentWCT.Width - barSize.Width, 0);
                            break;
                        case DockStyle.Right:
                            int right = _currentPanel.Right;
                            
                            if (lastStep)
                                rect.Width = _slideRect.Width + barSize.Width;
                            else
                                rect.Width = (_slideRect.Width + barSize.Width) / 
                                            _slideSteps * (_slideStep + 1);
                                              
                            rect.X -= rect.Right - right;
                            
                            _currentWCT.Location = new Point(barSize.Width, 0);
                            break;
                        case DockStyle.Top:
                            if (lastStep)
                                rect.Height = _slideRect.Height + barSize.Height;
                            else
                                rect.Height = (_slideRect.Height + barSize.Height) / 
                                            _slideSteps * (_slideStep + 1);
                            
                            // Want the bottom of the WCT showing
                            _currentWCT.Location = new Point(0, rect.Height - _currentWCT.Height - barSize.Height);
                            break;
                        case DockStyle.Bottom:
                            int bottom = _currentPanel.Bottom;
                            
                            if (lastStep)
                                rect.Height = _slideRect.Height + barSize.Height;
                            else
                                rect.Height = (_slideRect.Height + barSize.Height) / 
                                            _slideSteps * (_slideStep + 1);
                                              
                            rect.Y -= rect.Bottom - bottom;

                            _currentWCT.Location = new Point(0, barSize.Height);
                            break;
                    }

                    // Have to use Win32 API call to alter the Panel size and position at the same time, no 
                    // Control method/property is available to do both at the same time. Otherwise you can see
                    // the Panel being moved in two steps which looks naff!
                    User32.MoveWindow(_currentPanel.Handle, rect.Left, rect.Top, rect.Width, rect.Height, true);
                    
                    // Stop timer when all required steps performed		    
                    if (lastStep)
                    {
                        StopSlideTimer();
                        
                        // If sliding into view from bottom
                        if (this.Dock == DockStyle.Top)
                        {
                            // Must cause repaint to prevent artifacts
                            _currentPanel.Refresh();
                        }
                    }
                }
                else
                {
                    int steps = _slideSteps - _slideStep;
                    
                    // Move Window another step towards required position
                    switch(this.Dock)
                    {
                        case DockStyle.Left:
                            if (lastStep)
                                rect.Width = 0;
                            else
                                rect.Width = (_slideRect.Width + barSize.Width) / 
                                            _slideSteps * steps;
                            break;
                        case DockStyle.Right:
                            int right = _currentPanel.Right;
                            
                            if (lastStep)
                                rect.Width = 0;
                            else
                                rect.Width = (_slideRect.Width + barSize.Width) / 
                                            _slideSteps * steps;
                                             
                            rect.X += right - rect.Right;
                            break;
                        case DockStyle.Top:
                            if (lastStep)
                                rect.Height = 0;
                            else
                                rect.Height = (_slideRect.Height + barSize.Height) / 
                                            _slideSteps * steps;
                            break;
                        case DockStyle.Bottom:
                            int bottom = _currentPanel.Bottom;
                            
                            if (lastStep)
                                rect.Height = 0;
                            else
                                rect.Height = (_slideRect.Height + barSize.Height) / 
                                            _slideSteps * steps;
                                              
                            rect.Y += bottom - rect.Bottom;
                            break;
                    }
                    
                    // Have to use Win32 API call to alter the Panel size and position at the same time, no 
                    // Control method/property is available to do both at the same time. Otherwise you can see
                    // the Panel being moved in two steps which looks naff!
                    User32.MoveWindow(_currentPanel.Handle, rect.Left, rect.Top, rect.Width, rect.Height, true);

                    // Stop timer when all required steps performed		    
                    if (lastStep)
                    {
                        StopSlideTimer();
                        
                        // No longer need to show it
                        RemoveDisplayedWindow();
                        
                        // No longer considered the shown window
                        _currentWCT = null;
                    }
                }
                
                // Increment the step value
                _slideStep++;
            }
        }

        protected void OnDismissTick(object sender, EventArgs e)
        {
            // Safety check that timer does not expire after our death
            if (this.IsDisposed || (_currentPanel == null) || _currentPanel.IsDisposed)
            {
                StopDismissTimer();
                return;
            }

            // Should any dismiss attempt from timer be ignored?
            if (!_ignoreDismiss)
            {
                // Are we currently showing a Window?
                if (_currentPanel != null)
                {
                    // Timer is being used to hide the Panel
                    _slideOut = false;
            
                    // Kick off the timer
                    StartSlideTimer();
                }
            }

            // Stop the dismiss timer from reoccuring
            StopDismissTimer();
        }
        
        protected void OnContainerResized(object sender, EventArgs e)
        {
            RemoveShowingWindow();
        }
        
        public void RemoveShowingWindow()
        {
            _ignoreDismiss = false;

            // Is focus leaving the entire WindowContentTabbed control?
            if (_currentWCT != null)
            {
                // Remember current focus
                IntPtr hWnd = User32.GetFocus();

                // Do not slide a window in the process of being removed
                StopDismissTimer();
                StopSlideTimer();
			
                // Remove Panel/WCT from display and stop timers
                RemoveDisplayedWindow();
                
                // No longer considered the shown window
                _currentWCT = null;

                // Replace the focus
                User32.SetFocus(hWnd);
            }	
            
            // Prevent drawing artifacts by invalidating window
            Invalidate();
        }

        protected void OnPanelEnter(object sender, EventArgs e)
        {
            _ignoreDismiss = true;
        }

        protected void OnPanelLeave(object sender, EventArgs e)
        {
            _ignoreDismiss = false;

            // Is focus leaving the entire WindowContentTabbed control?
            if (!_killing && (_currentWCT != null) && !_currentWCT.ContainsFocus)
            {
                // Remember current focus
                IntPtr hWnd = User32.GetFocus();
			
                // Do not slide a window in the process of being removed
                StopDismissTimer();
                StopSlideTimer();

                // Remove Panel/WCT from display and stop timers
                RemoveDisplayedWindow();
                
                // No longer considered the shown window
                _currentWCT = null;

                // Replace the focus
                User32.SetFocus(hWnd);
            }	
        }
 
        protected void MonitorPanel(bool add)
        {
            MonitorControl(_currentPanel, add);
        }

        protected void MonitorControl(Control c, bool add)
        {
            if (add)
            {
                // Monitor focus changes on the Control
                c.GotFocus += new EventHandler(OnPanelEnter);
                c.LostFocus += new EventHandler(OnPanelLeave);
            }
            else
            {
                // Unmonitor focus changes on the Control
                c.GotFocus -= new EventHandler(OnPanelEnter);
                c.LostFocus -= new EventHandler(OnPanelLeave);
            }

            foreach(Control child in c.Controls)
                MonitorControl(child, add);
        }
        
        protected override void OnPaintBackground(PaintEventArgs e)
        {
            Color backColor = base.BackColor;

            if (_manager.Style == VisualStyle.IDE)
            {
                if (_defaultColor)
                    backColor = ColorHelper.TabBackgroundFromBaseColor(SystemColors.Control);
                else
                    backColor = ColorHelper.TabBackgroundFromBaseColor(backColor);
            }
            else        
                if (_defaultColor)
                    backColor = SystemColors.Control;

            using(SolidBrush brush = new SolidBrush(backColor))
                e.Graphics.FillRectangle(brush, this.ClientRectangle);
        }
        
        public bool PreFilterMessage(ref Message msg)
        {
            Form parentForm = this.FindForm();

            // Only interested if the Form we are on contains the focus and we are showing a Panel
            if ((parentForm != null) && (parentForm == Form.ActiveForm) && 
                parentForm.ContainsFocus && (_currentPanel != null) && 
                !_currentPanel.IsDisposed)
            {		
                switch(msg.Msg)
                {
                    case (int)Win32.Msgs.WM_MOUSEMOVE:
                        Win32.POINT screenPos;
                        screenPos.x = (int)((uint)msg.LParam & 0x0000FFFFU);
                        screenPos.y = (int)(((uint)msg.LParam & 0xFFFF0000U) >> 16);

                        // Convert the mouse position to screen coordinates
                        User32.ClientToScreen(msg.HWnd, ref screenPos);

                        // Get the screen rectangle for the showing panel and this object
                        Rectangle panelRect = _currentPanel.RectangleToScreen(_currentPanel.ClientRectangle);
                        Rectangle thisRect = this.RectangleToScreen(this.ClientRectangle);

                        // Do we think the mouse is not over the tab or panel?
                        if (_dismissRunning)
                        {
                            // Is mouse moving over the panel?
                            if (panelRect.Contains(new Point(screenPos.x, screenPos.y)))
                            {
                                // Cancel timer
                                StopDismissTimer();
                           }
                        }
                        else
                        {
                            // If mouse not over the Panel or the ourself
                            if (!panelRect.Contains(new Point(screenPos.x, screenPos.y)) &&
                                !thisRect.Contains(new Point(screenPos.x, screenPos.y)))
                            {
                                // Simulate the mouse leaving ourself so that dismiss timer is started
                                OnPagesLeave(null);
                            }
                        }

                        break;
                }
            }

            return false;
		}
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频欧美精品| 精品影院一区二区久久久| 亚洲综合色在线| 日本女人一区二区三区| 99久久精品免费| 日韩欧美一二区| 国产欧美精品一区二区色综合朱莉| 国产精品网站一区| 东方欧美亚洲色图在线| 久久尤物电影视频在线观看| 日韩中文欧美在线| 另类调教123区| 欧美另类一区二区三区| 久久亚洲私人国产精品va媚药| 91在线精品一区二区三区| 中文字幕精品三区| 在线观看视频一区二区欧美日韩 | 日韩精品一区二区在线观看| 成人一区二区三区视频在线观看 | 欧美视频一区在线观看| 岛国精品在线播放| 久久精品男人天堂av| 国产精品自拍毛片| 国产精品乱码一区二三区小蝌蚪| 色综合色综合色综合色综合色综合| 国产精品夜夜嗨| 国产成人亚洲综合a∨猫咪| 久久久www成人免费毛片麻豆| 国产91精品精华液一区二区三区 | 成人黄色av电影| 青青草一区二区三区| 91精品久久久久久久91蜜桃| 日韩中文字幕一区二区三区| 久久天堂av综合合色蜜桃网| 色欧美日韩亚洲| 日韩成人一级片| 亚洲欧洲精品一区二区三区| 成人av免费在线观看| 亚洲最大色网站| 国产一区二区女| 国产精品18久久久| 久久精品国产免费看久久精品| 国产精品免费视频一区| 久久精品一区四区| 亚洲精品亚洲人成人网| 久久精品亚洲麻豆av一区二区| 91在线观看免费视频| 亚洲人妖av一区二区| 欧美日韩一区二区三区四区| 国产在线视频一区二区三区| 日韩成人精品在线| 天天av天天翘天天综合网色鬼国产| 99综合电影在线视频| 国产三级精品三级在线专区| 懂色av一区二区三区蜜臀| 亚洲国产成人自拍| 91视频在线观看免费| 亚洲国产一区二区三区 | 日韩精品一区二区三区中文不卡| 国产自产v一区二区三区c| 久久亚洲综合av| 色综合天天综合网天天狠天天| 亚洲一区二区三区美女| 日韩女优视频免费观看| 白白色 亚洲乱淫| 亚洲一区二区三区在线看| 精品区一区二区| 97超碰欧美中文字幕| 日韩精品一二区| 中文字幕中文字幕一区| 欧美猛男gaygay网站| 国产盗摄女厕一区二区三区| 亚洲最新在线观看| 久久夜色精品国产噜噜av| 在线观看一区不卡| 国产盗摄视频一区二区三区| 亚洲国产日日夜夜| 国产精品免费久久久久| 在线不卡a资源高清| 高清视频一区二区| 婷婷综合另类小说色区| 国产精品蜜臀在线观看| 日韩三级在线观看| 久久99精品视频| 久久精品一区二区三区不卡| 蜜桃视频在线观看一区二区| 欧美日韩国产天堂| 成人欧美一区二区三区1314| 一区二区三区国产精品| 激情深爱一区二区| 欧美婷婷六月丁香综合色| 国产精品久久一级| 一本一道久久a久久精品| 亚洲色图第一区| 欧美成人高清电影在线| 色香蕉久久蜜桃| 丁香激情综合五月| 久久精品噜噜噜成人88aⅴ| 亚洲综合激情另类小说区| 国产日本欧洲亚洲| 精品久久久影院| 日韩一卡二卡三卡国产欧美| 欧美在线999| 日本精品免费观看高清观看| 成人av资源网站| 国产酒店精品激情| 精品影视av免费| 九九九久久久精品| 久久超碰97中文字幕| 日本美女一区二区三区| 五月天欧美精品| 亚洲大片在线观看| 亚洲第一会所有码转帖| 亚洲超丰满肉感bbw| 亚洲成人午夜影院| 三级在线观看一区二区| 亚洲第一福利视频在线| 日本亚洲视频在线| 蜜臀av一级做a爰片久久| 久久国内精品自在自线400部| 男女男精品网站| 国产一区999| 国产不卡在线视频| 丁香啪啪综合成人亚洲小说 | 一区二区三区四区在线| 亚洲激情图片小说视频| 一区二区三区电影在线播| 一区二区免费视频| 婷婷国产v国产偷v亚洲高清| 日本aⅴ精品一区二区三区| 久久不见久久见免费视频7| 毛片不卡一区二区| 国产精品影音先锋| av成人动漫在线观看| 欧美在线视频你懂得| 8v天堂国产在线一区二区| 日韩一区二区免费电影| 欧美午夜精品久久久久久孕妇| 欧美精品色一区二区三区| 精品国产伦理网| 国产精品高清亚洲| 视频一区中文字幕国产| 韩国v欧美v亚洲v日本v| 成人国产精品免费观看视频| 在线观看中文字幕不卡| 欧美一区二区三区免费| 国产精品网站导航| 日韩影院在线观看| 大桥未久av一区二区三区中文| 欧美中文字幕一二三区视频| 久久婷婷成人综合色| 一区二区三区在线视频观看| 理论片日本一区| 日本精品一级二级| 久久久午夜精品| 性久久久久久久久| 粉嫩13p一区二区三区| 91.成人天堂一区| 中文字幕一区日韩精品欧美| 日本sm残虐另类| 在线观看区一区二| 国产欧美精品一区二区色综合朱莉 | 最新久久zyz资源站| 日韩**一区毛片| 色综合天天综合网天天狠天天 | 麻豆精品视频在线观看| 99国产欧美另类久久久精品| 欧美一区二区三区人| 亚洲精品国产成人久久av盗摄| 蜜桃视频第一区免费观看| 色综合天天综合色综合av| 国产欧美一区二区在线| 日韩 欧美一区二区三区| 在线免费观看日本欧美| 亚洲国产电影在线观看| 国精产品一区一区三区mba桃花| 色菇凉天天综合网| 国产精品免费看片| 国产成人精品免费在线| 精品三级在线看| 免费高清成人在线| 欧美精品tushy高清| 亚洲精品国产无天堂网2021| 懂色av一区二区三区免费观看| 日韩欧美美女一区二区三区| 一区二区三区在线视频播放| 91在线国内视频| 国产欧美一区二区精品性色超碰| 日韩电影免费在线看| 欧美日本乱大交xxxxx| 一区二区三区四区高清精品免费观看 | 日韩国产高清在线| 欧美亚洲一区三区| 伊人色综合久久天天| 91麻豆国产自产在线观看| 亚洲欧洲精品成人久久奇米网| 成人一级视频在线观看| 中文字幕精品三区| 99视频精品免费视频| 亚洲日本电影在线|