Metro UI 菜单(Winform)

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

主要代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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 @   南桥一梦  阅读(6078)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示