亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C# ToolStrip制作四邊??扛庸ぞ邫?/h1>
2020-01-24 03:00:37
字體:
來源:轉載
供稿:網友

關于浮動工具條的制作,阿捷寫了一篇很不錯的文章,見://www.49028c.com/article/44272.htm
阿捷這個工具條浮動后只能在頂部停靠,基于此,我在這邊增加在左/右/底部停靠,停靠條件是浮動窗體緊貼或越過主窗體邊緣。

其實阿捷給出的代碼已經相當詳細了:) 我這里主要給出重寫的ToolStrip代碼段,增加了三個ToolStripPanel

復制代碼 代碼如下:

    public partial class MyToolStrip : ToolStrip
    {
        public MyToolStrip()
        {
            InitializeComponent();
            this.EndDrag += new EventHandler(MyToolStrip_EndDrag);
            this.SizeChanged += new EventHandler(MyToolStrip_SizeChanged);
        }

        #region 漂浮狀態

        public ToolStripFloatWindow FloatWindow { get; set; }

        private bool isFloating
        {
            get
            {
                return (FloatWindow != null);
            }
        }

        public ToolStripPanel TopToolStripPanel { get; set; }
        public ToolStripPanel BottomToolStripPanel { get; set; }
        public ToolStripPanel LeftToolStripPanel { get; set; }
        public ToolStripPanel RightToolStripPanel { get; set; }

        #endregion

        #region 漂浮實現

        private void FloatWindow_LocationChanged(object sender, EventArgs e)
        {
            //當floatwindws的位置移動到 toolstrippanel中時,將this放置到 toolstripPanel上
            if (this.FloatWindow == null)
            {
                return;
            }
            if (FloatWindow.HasCreated)
            {
                //主窗體位置
                Point frmLoc = this.TopToolStripPanel.Parent.Location;
                //浮動工具條位置
                Point toolBarLoc = FloatWindow.Location;

                if (toolBarLoc.Y - frmLoc.Y <= 0) //置于頂部StripPanel
                {
                    this.FloatWindow.Controls.Remove(this);
                    this.TopToolStripPanel.SuspendLayout();
                    this.TopToolStripPanel.Controls.Add(this);
                    this.Location = this.TopToolStripPanel.PointToClient(toolBarLoc);
                    this.TopToolStripPanel.ResumeLayout();
                    this.FloatWindow.Dispose();
                    this.FloatWindow = null;
                    return;
                }
                if (toolBarLoc.X - frmLoc.X <= 0) //置于左邊StripPanel
                {
                    this.FloatWindow.Controls.Remove(this);
                    this.LeftToolStripPanel.SuspendLayout();
                    this.LeftToolStripPanel.Controls.Add(this);
                    this.Location = this.LeftToolStripPanel.PointToClient(toolBarLoc);
                    this.LeftToolStripPanel.ResumeLayout();
                    this.FloatWindow.Dispose();
                    this.FloatWindow = null;
                    return;
                }
                if (toolBarLoc.X + FloatWindow.Width >= this.TopToolStripPanel.Parent.Width) //置于右邊StripPanel
                {
                    this.FloatWindow.Controls.Remove(this);
                    this.RightToolStripPanel.SuspendLayout();
                    this.RightToolStripPanel.Controls.Add(this);
                    this.Location = this.RightToolStripPanel.PointToClient(toolBarLoc);
                    this.RightToolStripPanel.ResumeLayout();
                    this.FloatWindow.Dispose();
                    this.FloatWindow = null;
                    return;
                }
                if (toolBarLoc.Y + FloatWindow.Height >= this.TopToolStripPanel.Parent.Height) //置于底部StripPanel
                {
                    this.FloatWindow.Controls.Remove(this);
                    this.BottomToolStripPanel.SuspendLayout();
                    this.BottomToolStripPanel.Controls.Add(this);
                    this.Location = this.BottomToolStripPanel.PointToClient(toolBarLoc);
                    this.BottomToolStripPanel.ResumeLayout();
                    this.FloatWindow.Dispose();
                    this.FloatWindow = null;
                    return;
                }
            }
        }

        private void MyToolStrip_EndDrag(object sender, EventArgs e)
        {
            Point screenPt = Cursor.Position;
            Point clientPt = this.TopToolStripPanel.Parent.PointToClient(screenPt);

            //浮動區域
            Rectangle floatArea = new Rectangle(32, 32,    //我這里圖標大小調整為32*32
                this.TopToolStripPanel.Parent.Width - 2 * 32,
                this.TopToolStripPanel.Parent.Height - 2 * 32);

            if (floatArea.Contains(clientPt)) //判斷移出時
            {
                ToolStripFloatWindow fw = new ToolStripFloatWindow();
                fw.Controls.Add(this);
                this.Left = 0;
                this.Top = 0;
                this.FloatWindow = fw;
                FloatWindow.LocationChanged += new EventHandler(FloatWindow_LocationChanged);
                fw.SetBounds(screenPt.X, screenPt.Y, this.ClientSize.Width, this.ClientSize.Height + 22); //22為窗體標題欄高度
                  fw.Show();
             }
        }

        private void MyToolStrip_SizeChanged(object sender, EventArgs e)
        {
            if (this.isFloating)
            {
                this.FloatWindow.Width = this.ClientSize.Width;
            }
        }

        #endregion

    }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日产久久高清欧美一区| 九九热视频这里只有精品| 精品亚洲精品福利线在观看| 国产亚洲精品久久久久久777| 欧美洲成人男女午夜视频| 日韩精品极品视频| 亚洲天堂久久av| 中文字幕久久精品| 国产丝袜一区视频在线观看| 国产一区二区三区在线观看视频| 91久久在线播放| 国产精品香蕉av| 欧美视频在线免费| 欧美午夜片欧美片在线观看| 疯狂做受xxxx欧美肥白少妇| 欧美亚洲国产视频| 一区二区三区久久精品| 欧美日韩亚洲激情| 精品国产一区二区三区在线观看| 亚洲国产一区二区三区四区| 97精品国产aⅴ7777| 91理论片午午论夜理片久久| 亚洲午夜性刺激影院| 亚洲专区中文字幕| 亚洲精品自拍第一页| 国产亚洲欧洲高清| 欧美人在线视频| 欧美精品电影免费在线观看| 亚洲美女性视频| 亚洲free性xxxx护士白浆| 亚洲无线码在线一区观看| 欧美精品在线观看91| 欧美视频中文字幕在线| 欧美一级淫片aaaaaaa视频| 91热精品视频| 欧美一级高清免费播放| 欧美亚洲另类视频| 亚洲激情免费观看| 国产噜噜噜噜噜久久久久久久久| 国产一区深夜福利| 日韩极品精品视频免费观看| 欧美激情精品久久久久久蜜臀| 国产成人综合av| 国产精品免费网站| 97在线免费观看视频| 国产精品视频永久免费播放| 伦理中文字幕亚洲| 亚洲欧美自拍一区| 欧美老女人bb| 国产美女被下药99| 九九热最新视频//这里只有精品| 久久精品这里热有精品| 国产精国产精品| 久久亚洲一区二区三区四区五区高| 欧美日韩国产中文精品字幕自在自线| 欧美成人手机在线| 欧美日本亚洲视频| 欧美高清视频在线播放| 一区二区三区视频免费| 久久这里有精品视频| 精品毛片三在线观看| 亚洲人精品午夜在线观看| 全球成人中文在线| 欧美成人免费全部观看天天性色| 秋霞午夜一区二区| 伊人久久男人天堂| 久久久国产一区二区| 国产日韩一区在线| 一本一道久久a久久精品逆3p| 国产精品视频内| 在线电影av不卡网址| 91九色在线视频| 51精品国产黑色丝袜高跟鞋| 欧美高跟鞋交xxxxhd| 日韩激情视频在线| 性色av一区二区咪爱| 欧美激情啊啊啊| 7m第一福利500精品视频| 国产精品专区h在线观看| 欧美电影免费看| 久久久噜噜噜久久中文字免| 亚洲jizzjizz日本少妇| 色婷婷av一区二区三区在线观看| 亚洲美女又黄又爽在线观看| 国产精品高潮视频| 亚洲国产成人精品久久久国产成人一区| 海角国产乱辈乱精品视频| 久久久久久欧美| 国产精品r级在线| 精品久久久久人成| 亚洲午夜国产成人av电影男同| 久久精品国产亚洲一区二区| 九九久久综合网站| 国产精品一区二区久久精品| 91av中文字幕| 国精产品一区一区三区有限在线| 97国产精品人人爽人人做| 日韩动漫免费观看电视剧高清| 欧美日韩xxxxx| 亚洲va久久久噜噜噜| 亚洲视频在线免费看| 亚洲天堂2020| 亚洲欧美国产制服动漫| 亚洲摸下面视频| 成人精品aaaa网站| 亚洲一区二区久久久久久| 欧美日韩不卡合集视频| 亚洲第一免费网站| 26uuu日韩精品一区二区| 成人免费高清完整版在线观看| 一区二区在线视频播放| 日韩二区三区在线| 午夜精品久久久久久99热| 亚洲精品suv精品一区二区| 欧美亚洲免费电影| 日韩av成人在线观看| 国产精品福利网站| 91精品国产91久久久久久| 国产精品久久久久国产a级| 日韩在线视频免费观看高清中文| 欧美一级高清免费播放| 精品一区二区三区电影| 久久久精品美女| 欧美韩日一区二区| 欧美夜福利tv在线| 欧美电影在线观看| 亚洲图片制服诱惑| 国产98色在线| 国产精品私拍pans大尺度在线| 久久久精品国产一区二区| 两个人的视频www国产精品| 日本不卡免费高清视频| 成人在线一区二区| 欧美性猛交xxxx免费看| 最近2019免费中文字幕视频三| 日韩国产精品一区| 国产精品久久久久久中文字| 国产成人精品国内自产拍免费看| 亚洲最新在线视频| 国产成人亚洲综合| 91在线色戒在线| 欧美激情精品久久久久久大尺度| 国产精品第3页| 欧美性理论片在线观看片免费| 欧美精品18videos性欧| 国产精品直播网红| 午夜精品久久久久久久99热| 国产一区二区三区高清在线观看| 亚洲片av在线| 九九视频这里只有精品| 国产97色在线| 国产精品高清在线观看| 欧美日韩高清在线观看| 一本色道久久88综合亚洲精品ⅰ| 国产精品国产三级国产专播精品人| 日韩免费高清在线观看| 亚洲精品按摩视频| 色悠久久久久综合先锋影音下载| 日韩电影免费观看在线观看| 色综合视频网站| 亚洲人成电影网站色…| 亚洲在线www| 亚洲激情小视频| 中文字幕日韩在线视频|