Metro UI 菜单(Winform)

我有个项目需要要到菜单导航,就自己动作做了一个,感觉还可以,分享给大家。下载地址:https://files.cnblogs.com/files/dyj057/MetroUIMenu.zip

主要代码:

 private void SetElements()
        {
            if (Elements == null) return;
            int eWidth = BorderWidth + ElementWidth;
            int eHeight = BorderWidth + ElementHeight;
            int count = Elements.Count;
            int col = this.Size.Width / eWidth;
            if (col == 0) return;
            int row = (int)Math.Ceiling((double)count / col);
            Console.WriteLine("{0}x{1}",row,col);
            var k = 0;
            for (int i = 0; i < row; i++)
            {
                for (int j = 0; j < col; j++)
                {
                    if (k >= count) break;
                    var child = Elements[k];
                    child.Location = new Point(j * eWidth  + BorderWidth, eHeight * i + BorderWidth);
                    child.Size = new Size(ElementWidth, ElementHeight);
                    Console.WriteLine("X:{0} Y:{1} W:{2} H:{3}", child.Location.X, child.Location.Y, child.Size.Width,child.Size.Height);
                    if (!this.Controls.Contains(child))
                    {
                        child.SelectedChanged += Child_SelectedChanged;
                        this.Controls.Add(child);
                    }
                    k++;
                }
            }
        }

  

 

posted @ 2015-11-18 11:42  南桥一梦  阅读(5999)  评论(0编辑  收藏  举报