我有个项目需要要到菜单导航,就自己动作做了一个,感觉还可以,分享给大家。下载地址:http://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++; } } }