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

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

?? tabgroupleaf.cs

?? Magic Library 1.7,有說明文檔
?? CS
?? 第 1 頁 / 共 2 頁
字號:
// *****************************************************************************
// 
//  (c) Crownwood Consulting Limited 2002 
//  All rights reserved. The software and associated documentation 
//  supplied hereunder are the proprietary information of Crownwood Consulting 
//	Limited, Haxey, North Lincolnshire, England and are supplied subject to 
//	licence terms.
// 
//  Magic Version 1.7 	www.dotnetmagic.com
// *****************************************************************************

using System;
using System.IO;
using System.Xml;
using System.Data;
using System.Drawing;
using System.Reflection;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using Crownwood.Magic.Menus;
using Crownwood.Magic.Common;
using Crownwood.Magic.Controls;
using Crownwood.Magic.Collections;

namespace Crownwood.Magic.Controls
{
	public class TabGroupLeaf : TabGroupBase
	{
	    // Class constants
	    protected const int _imageWidth = 16;
        protected const int _imageHeight = 16;
        protected const int _imageHorzSplit = 0;
        protected const int _imageVertSplit = 1;
	
        // Class state
        protected static ImageList _internalImages;
        
        // Instance fields
	    protected MenuCommand _mcClose;
        protected MenuCommand _mcSep1;
        protected MenuCommand _mcProm;
        protected MenuCommand _mcReba;
        protected MenuCommand _mcSep2;
        protected MenuCommand _mcPrev;
        protected MenuCommand _mcNext;
        protected MenuCommand _mcVert;
        protected MenuCommand _mcHorz;
        protected Cursor _savedCursor;
        protected bool _dragEntered;
        protected TargetManager _targetManager;
        protected Controls.TabControl _tabControl;

        static TabGroupLeaf()
        {
            // Create a strip of images by loading an embedded bitmap resource
            _internalImages = ResourceHelper.LoadBitmapStrip(Type.GetType("Crownwood.Magic.Controls.TabbedGroups"),
                                                             "Crownwood.Magic.Resources.ImagesTabbedGroups.bmp",
                                                             new Size(_imageWidth, _imageHeight),
                                                             new Point(0,0));
        }
	
		public TabGroupLeaf(TabbedGroups tabbedGroups, TabGroupBase parent)
		    : base(tabbedGroups, parent)
		{
		    // Create our managed tab control instance
		    _tabControl = new Controls.TabControl();
		    
		    // We need page drag to begin when mouse dragged a small distance
		    _tabControl.DragFromControl = false;
		    
		    // We need to monitor attempts to drag into the tab control
            _dragEntered = false;
            _tabControl.AllowDrop = true;
            _tabControl.DragDrop += new DragEventHandler(OnControlDragDrop);
            _tabControl.DragEnter += new DragEventHandler(OnControlDragEnter);
            _tabControl.DragLeave += new EventHandler(OnControlDragLeave);
		    
		    // Need notification when page drag begins
            _tabControl.PageDragStart += new MouseEventHandler(OnPageDragStart);
            _tabControl.PageDragMove += new MouseEventHandler(OnPageDragMove);
            _tabControl.PageDragEnd += new MouseEventHandler(OnPageDragEnd);
            _tabControl.PageDragQuit += new MouseEventHandler(OnPageDragQuit);
		    
		    // Hook into tab page collection events
            _tabControl.TabPages.Cleared += new CollectionClear(OnTabPagesCleared);
            _tabControl.TabPages.Inserted += new CollectionChange(OnTabPagesInserted);
            _tabControl.TabPages.Removed += new CollectionChange(OnTabPagesRemoved);
            
            // Hook into page level events
            _tabControl.GotFocus += new EventHandler(OnGainedFocus);
            _tabControl.PageGotFocus += new EventHandler(OnGainedFocus);
            _tabControl.ClosePressed += new EventHandler(OnClose);            
            
            // Manager only created at start of drag operation
            _targetManager = null;
            
            DefinePopupMenuForControl(_tabControl);

            // Setup the correct 'HideTabsMode' for the control
            Notify(TabGroupBase.NotifyCode.DisplayTabMode);

		    // Define the default setup of TabControl and allow developer to customize
		    _tabbedGroups.OnTabControlCreated(_tabControl);
		}

        protected void DefinePopupMenuForControl(Controls.TabControl tabControl)
        {
            PopupMenu pm = new PopupMenu();
            
            // Add all the standard menus we manage
            _mcClose = new MenuCommand("", new EventHandler(OnClose));
            _mcSep1 = new MenuCommand("-");
            _mcProm = new MenuCommand("", new EventHandler(OnToggleProminent));
            _mcReba = new MenuCommand("", new EventHandler(OnRebalance));
            _mcSep2 = new MenuCommand("-");
            _mcHorz = new MenuCommand("", _internalImages, _imageHorzSplit, new EventHandler(OnNewVertical));
            _mcVert = new MenuCommand("", _internalImages, _imageVertSplit, new EventHandler(OnNewHorizontal));
            _mcNext = new MenuCommand("", new EventHandler(OnMoveNext));
            _mcPrev = new MenuCommand("", new EventHandler(OnMovePrevious));

            // Prominent is a radio checked item
            _mcProm.RadioCheck = true;

            // Use the provided context menu
            tabControl.ContextPopupMenu = pm;

            // Update command states when shown
            tabControl.PopupMenuDisplay += new CancelEventHandler(OnPopupMenuDisplay);
        }
    
        public TabPageCollection TabPages
        {
            get { return _tabControl.TabPages; }
        }
    
        public override void Notify(NotifyCode code)
        {
            switch(code)
            {
                case NotifyCode.ImageListChanging:
                    // Are we using the group level imagelist?
                    if (_tabbedGroups.ImageList == _tabControl.ImageList)
                    {   
                        // Then remove its use
                        _tabControl.ImageList = null;
                    }
                    break;
                case NotifyCode.ImageListChanged:
                    // If no imagelist defined
                    if (_tabControl.ImageList == null)
                    {   
                        // Then use the group level one
                        _tabControl.ImageList = _tabbedGroups.ImageList;
                    }
                    break;
                case NotifyCode.StyleChanged:
                    // Update tab control with new style
                    _tabControl.Style = _tabbedGroups.Style;
                    break;
                case NotifyCode.DisplayTabMode:
                    // Apply the latest mode
                    switch(_tabbedGroups.DisplayTabMode)
                    {
                        case Crownwood.Magic.Controls.TabbedGroups.DisplayTabModes.ShowAll:
                            _tabControl.HideTabsMode = Magic.Controls.TabControl.HideTabsModes.ShowAlways;
                            break;
                        case Crownwood.Magic.Controls.TabbedGroups.DisplayTabModes.HideAll:
                            _tabControl.HideTabsMode = Magic.Controls.TabControl.HideTabsModes.HideAlways;
                            break;
                        case Crownwood.Magic.Controls.TabbedGroups.DisplayTabModes.ShowActiveLeaf:
                            _tabControl.HideTabsMode = (_tabbedGroups.ActiveLeaf == this ? Magic.Controls.TabControl.HideTabsModes.ShowAlways :
                                                                                           Magic.Controls.TabControl.HideTabsModes.HideAlways);
                            break;
                        case Crownwood.Magic.Controls.TabbedGroups.DisplayTabModes.ShowMouseOver:
                            _tabControl.HideTabsMode = Magic.Controls.TabControl.HideTabsModes.HideWithoutMouse;
                            break;
                        case Crownwood.Magic.Controls.TabbedGroups.DisplayTabModes.ShowActiveAndMouseOver:
                            _tabControl.HideTabsMode = (_tabbedGroups.ActiveLeaf == this ? Magic.Controls.TabControl.HideTabsModes.ShowAlways :
                                                                                           Magic.Controls.TabControl.HideTabsModes.HideWithoutMouse);
                            break;
                    }
                    break;
            }
        }

        public override int Count               { get { return _tabControl.TabPages.Count; } }
        public override bool IsLeaf             { get { return true; } }
        public override bool IsSequence         { get { return false; } }
        public override Control GroupControl    { get { return _tabControl; } }
        
        public override bool ContainsProminent(bool recurse)
        {
            // Cache the currently selected prominent group
            TabGroupLeaf prominent = _tabbedGroups.ProminentLeaf;

            // Valid value to test against?            
            if (prominent != null)
                return (this == prominent);
            else
                return false;
        }

        public override void SaveToXml(XmlTextWriter xmlOut)
        {
            // Output standard values appropriate for all Sequence instances
            xmlOut.WriteStartElement("Leaf");
            xmlOut.WriteAttributeString("Count", Count.ToString());
            xmlOut.WriteAttributeString("Unique", _unique.ToString());
            xmlOut.WriteAttributeString("Space", _space.ToString());

            // Output each tab page
            foreach(Controls.TabPage tp in _tabControl.TabPages)
            {
                string controlType = "null";
                
                if (tp.Control != null)
                    controlType = tp.Control.GetType().AssemblyQualifiedName;

                xmlOut.WriteStartElement("Page");
                xmlOut.WriteAttributeString("Title", tp.Title);
                xmlOut.WriteAttributeString("ImageList", (tp.ImageList != null).ToString());
                xmlOut.WriteAttributeString("ImageIndex", tp.ImageIndex.ToString());
                xmlOut.WriteAttributeString("Selected", tp.Selected.ToString());
                xmlOut.WriteAttributeString("Control", controlType);

                // Give handlers chance to reconstruct the page
                xmlOut.WriteStartElement("CustomPageData");
                _tabbedGroups.OnPageSaving(new TGPageSavingEventArgs(tp, xmlOut));
                xmlOut.WriteEndElement();

                xmlOut.WriteEndElement();
            }
                
            xmlOut.WriteEndElement();
        }

        public override void LoadFromXml(XmlTextReader xmlIn)
        {
            // Grab the expected attributes
            string rawCount = xmlIn.GetAttribute(0);
            string rawUnique = xmlIn.GetAttribute(1);
            string rawSpace = xmlIn.GetAttribute(2);

            // Convert to correct types
            int count = Convert.ToInt32(rawCount);
            int unique = Convert.ToInt32(rawUnique);
            Decimal space = Convert.ToDecimal(rawSpace);
            
            // Update myself with new values
            _unique = unique;
            _space = space;
            
            // Load each of the children
            for(int i=0; i<count; i++)
            {
                // Read to the first page element or 
                if (!xmlIn.Read())
                    throw new ArgumentException("An element was expected but could not be read in");

                // Must always be a page instance
                if (xmlIn.Name == "Page")
                {
                    Controls.TabPage tp = new Controls.TabPage();

                    // Grab the expected attributes
                    string title = xmlIn.GetAttribute(0);
                    string rawImageList = xmlIn.GetAttribute(1);
                    string rawImageIndex = xmlIn.GetAttribute(2);
                    string rawSelected = xmlIn.GetAttribute(3);
                    string controlType = xmlIn.GetAttribute(4);

                    // Convert to correct types
                    bool imageList = Convert.ToBoolean(rawImageList);
                    int imageIndex = Convert.ToInt32(rawImageIndex);
                    bool selected = Convert.ToBoolean(rawSelected);

                    // Setup new page instance
                    tp.Title = title;
                    tp.ImageIndex = imageIndex;
                    tp.Selected = selected;
                    
                    if (imageList)
                        tp.ImageList = _tabbedGroups.ImageList;
                    
                    // Is there a type description of required control?
                    if (controlType != "null")
                    {
                        try
                        {
                            // Get type description, if possible
                            Type t = Type.GetType(controlType);
                            
                            // Was a valid, known type?
                            if (t != null)
                            {
                                // Get the assembly this type is defined inside
                                Assembly a = t.Assembly;
                                
                                if (a != null)
                                {
                                    // Create a new instance form the assemnly
                                    object newObj = a.CreateInstance(t.FullName);
                                    
                                    Control newControl = newObj as Control;
                                    
                                    // Must derive from Control to be of use to us
                                    if (newControl != null)
                                        tp.Control = newControl;
                                }
                            }
                        }
                        catch
                        {
                            // We ignore failure to recreate given control type
                        }
                    }
                    
                    // Read to the custom data element
                    if (!xmlIn.Read())
                        throw new ArgumentException("An element was expected but could not be read in");

                    if (xmlIn.Name != "CustomPageData")
                        throw new ArgumentException("Expected 'CustomPageData' element was not found");

                    bool finished = xmlIn.IsEmptyElement;

                    TGPageLoadingEventArgs e = new TGPageLoadingEventArgs(tp, xmlIn);

                    // Give handlers chance to reconstruct per-page information
                    _tabbedGroups.OnPageLoading(e);
                    
                    // Add into the control unless handler cancelled add operation
                    if (!e.Cancel)
                        _tabControl.TabPages.Add(tp);
                    
                    // Read everything until we get the end of custom data marker
                    while(!finished)
                    {
                        // Check it has the expected name
                        if (xmlIn.NodeType == XmlNodeType.EndElement)
                            finished = (xmlIn.Name == "CustomPageData");

                        if (!finished)
                        {
                            if (!xmlIn.Read())
                                throw new ArgumentException("An element was expected but could not be read in");
                        }
                    } 

                    // Read past the end of page element                    
                    if (!xmlIn.Read())
                        throw new ArgumentException("An element was expected but could not be read in");

                    // Check it has the expected name
                    if (xmlIn.NodeType != XmlNodeType.EndElement)
                        throw new ArgumentException("End of 'page' element expected but missing");
                    
                }
                else
                    throw new ArgumentException("Unknown element was encountered");
            }
        }

        protected void OnGainedFocus(object sender, EventArgs e)
        {
            // This tab control has the focus, make it the active leaf

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费在线观看| 三级欧美韩日大片在线看| 亚洲免费在线观看视频| 日韩国产精品大片| 99久久99久久综合| 欧美tickling挠脚心丨vk| 亚洲综合在线视频| 成人福利在线看| 日韩精品一区二区三区视频在线观看 | 91亚洲资源网| 久久午夜国产精品| 午夜精品福利在线| 在线看国产一区二区| 国产欧美一区二区精品性色| 欧美aⅴ一区二区三区视频| 在线播放91灌醉迷j高跟美女 | 色综合久久88色综合天天| 欧美久久婷婷综合色| 国产精品女同互慰在线看| 激情亚洲综合在线| 日韩亚洲欧美成人一区| 五月婷婷综合网| 色综合久久久网| 国产精品久久久一区麻豆最新章节| 免费观看在线综合色| 欧美日产国产精品| 成人黄色软件下载| 欧美国产综合色视频| 韩国精品久久久| 精品久久国产老人久久综合| 日韩影视精彩在线| 8x8x8国产精品| 午夜av一区二区| 欧美一区二区三区四区高清| 亚洲18色成人| 在线成人小视频| 日韩影院免费视频| 日韩欧美一级在线播放| 精品亚洲欧美一区| 精品成人在线观看| 国产精品一品视频| 国产精品久久久久久亚洲伦| 一本大道久久a久久精品综合| 亚洲欧洲精品天堂一级| 91农村精品一区二区在线| 亚洲日本免费电影| 欧美日韩夫妻久久| 久久国产精品无码网站| 精品国产凹凸成av人导航| 国产一区二区免费在线| 国产精品污www在线观看| 99在线精品一区二区三区| 最新日韩av在线| 欧美色综合影院| 免费日本视频一区| 久久久久久久久久美女| 99视频精品全部免费在线| 亚洲自拍偷拍av| 伊人开心综合网| 91精品国产免费| 国模少妇一区二区三区| 欧美国产精品久久| 在线亚洲+欧美+日本专区| 日韩精彩视频在线观看| 久久久久久久久99精品| 波多野结衣精品在线| 亚洲高清免费观看| 久久久久国产精品人| 在线精品国精品国产尤物884a| 免费久久精品视频| 亚洲色图色小说| 日韩欧美中文字幕公布| 99麻豆久久久国产精品免费优播| 夜夜嗨av一区二区三区网页 | 另类小说图片综合网| 中文字幕免费不卡| 91精品国产欧美一区二区| av在线一区二区| 美女视频黄久久| 亚洲欧美色图小说| 日韩精品一区二区三区视频 | 国产suv精品一区二区6| 亚洲国产精品久久久久婷婷884| 久久无码av三级| 欧美三级一区二区| 成人h动漫精品| 精品一区二区三区在线观看 | 国产乱色国产精品免费视频| 一区二区三区高清在线| 国产婷婷色一区二区三区| 欧美伦理电影网| 色综合久久久久综合体桃花网| 久久成人羞羞网站| 污片在线观看一区二区| 亚洲精选视频在线| 国产精品久久一级| 日本一区二区免费在线观看视频| 欧美福利视频一区| 91精品福利视频| 99精品一区二区三区| 成人久久久精品乱码一区二区三区| 老汉av免费一区二区三区| 亚洲福利一区二区三区| 亚洲精品免费视频| 亚洲色图在线看| 国产精品高清亚洲| 国产精品麻豆久久久| 久久久综合视频| 国产亚洲欧美一区在线观看| 精品国产污污免费网站入口 | 麻豆一区二区在线| 午夜不卡av在线| 午夜精品视频在线观看| 亚洲一区二区在线视频| 伊人婷婷欧美激情| 亚洲影院免费观看| 午夜一区二区三区在线观看| 亚洲综合男人的天堂| 一区二区三区在线免费| 亚洲综合在线视频| 丝袜亚洲另类丝袜在线| 午夜国产不卡在线观看视频| 日韩精品一级中文字幕精品视频免费观看 | 日韩高清不卡一区二区| 天天影视色香欲综合网老头| 五月天激情综合网| 蓝色福利精品导航| 国精产品一区一区三区mba视频| 精品午夜久久福利影院| 国产精品综合网| heyzo一本久久综合| 色综合咪咪久久| 欧美日韩国产色站一区二区三区| 欧美日韩久久不卡| 日韩网站在线看片你懂的| 久久久久久久综合日本| 中文字幕一区二区三区在线观看| 亚洲色图欧洲色图| 亚洲www啪成人一区二区麻豆| 日韩二区三区四区| 国产精品一区久久久久| 91丨九色porny丨蝌蚪| 精品视频在线看| 精品区一区二区| 国产精品欧美一级免费| 亚洲图片欧美色图| 狠狠色丁香九九婷婷综合五月| 成人精品gif动图一区| 色综合激情五月| 欧美成人精精品一区二区频| 国产精品美女久久久久aⅴ| 亚洲国产精品久久不卡毛片| 久久99精品久久久久久动态图| 大胆亚洲人体视频| 在线不卡免费av| 亚洲欧洲无码一区二区三区| 日本在线播放一区二区三区| 国产成人综合网| 欧美日韩国产欧美日美国产精品| 欧美大黄免费观看| 亚洲男人天堂一区| 激情五月激情综合网| 日本电影欧美片| 久久久久综合网| 天天综合天天做天天综合| 粉嫩av亚洲一区二区图片| 3d动漫精品啪啪| 亚洲人xxxx| 国产美女娇喘av呻吟久久| 欧美日韩视频一区二区| 欧美经典一区二区| 奇米综合一区二区三区精品视频| 91在线视频18| 久久九九影视网| 麻豆成人久久精品二区三区红| 99久久国产综合精品麻豆| 久久精品人人做| 蜜臀国产一区二区三区在线播放| 91丨九色丨蝌蚪丨老版| 久久久久久久久久久久电影| 日本三级亚洲精品| 精品视频在线免费看| 国产白丝精品91爽爽久久| 欧美一区二区三区视频免费播放| 亚洲乱码中文字幕综合| 成人综合日日夜夜| 久久婷婷成人综合色| 六月丁香综合在线视频| 欧美日韩成人在线| 亚洲大片在线观看| 欧美性猛片aaaaaaa做受| 亚洲欧美日韩成人高清在线一区| 福利91精品一区二区三区| 久久精品这里都是精品| 国产一区二区三区在线观看免费| 69久久夜色精品国产69蝌蚪网| 亚洲午夜一区二区三区| 91久久国产最好的精华液| 一个色妞综合视频在线观看| 色婷婷国产精品综合在线观看|