由於考慮到用戶體驗,須要把過程用一個直觀的方式體現出來html
有時候產品在生產過程當中,是看不到具體的數據交互過程。ide
好比說一個產品生產結束了,到下一個產品時,要怎樣給用戶展現這一個過程呢?spa
想了好久決定用矩形方塊顯示出來。code
一個產品用一個矩形方塊表示,產品結束時把方塊改變顏色,紅黃藍綠都行htm
個人方案是未生產時,方塊都是黃色,逐步生產過程時,方塊顏色逐步變綠,有NG產品時變紅色…………blog
上面所述大可能是應用到項目部分中,具體過程可根據需求改動源碼
下面說說繪製矩形方塊,我在計算和摸索中總結了兩個繪製方塊的方式產品
1.可根據行(x)和列(y)參數,生成幾行幾列的矩形方塊io
2.可根據方塊總數(z),和一行幾列(y)參數,逐一排列生成方塊class
按照方塊的長寬,對數量是有限制的,數量少長寬小,計算機執行快,cpu佔用也小
數量多長寬大,計算機執行速度很慢,cpu佔用很高。。(配置低的電腦不要輕易嘗試繪製1000個以上方塊。。)
若是你的方塊像星星同樣大小,能夠密密麻麻規律的擺放在窗體控件內(密集症者不要輕易嘗試)
源碼:
1.根據行和列生成長寬自適應的方塊
public void DrawRectangle1(Panel pan, int x, int y) { int Page_Width = pan.Width; int Page_Height = pan.Height; int Single_Width = Page_Width / (2 * x + 1); int Single_Height = Page_Height / (2 * y + 1); Size size = new Size(Single_Width, Single_Height); for (int i = 0; i < x * y; i++) { int xNum = (i + 1) % x; // 第幾列 int yNum = i / x + 1; //第幾行 if (xNum == 0) { xNum = x; } Point point = new Point(((xNum * 2) - 1) * Single_Width, ((yNum * 2) - 1) * Single_Height); Label lable = new Label(); lable.Location = point; lable.Size = size; lable.Tag = lable.Size.Width.ToString() + ',' + lable.Size.Height.ToString(); lable.BackColor = Color.Yellow; lable.Name = "lable" + i.ToString(); lable.Visible = true; pan.Controls.Add(lable); } }
2.根據總數和列數生成長度大小同樣的方塊
1 public void DrawRectangle(Panel page, int x, int y) 2 { 3 int Page_Width = page.Width; 4 int Page_Height = page.Height; 5 int Single_Width = Page_Width / (2 * x + 1); 6 7 int Single_Height = Page_Height / (2 * 4 + 1); 8 Size size = new Size(Convert.ToInt32(35), Convert.ToInt32(35)); 9 int a = 0; 10 for (int i = 0; i < x; i++) 11 { 12 if (i % y == 0 && i != 0) 13 { 14 a++; 15 } 16 int Xnum = (i + 1) % x; 17 int Ynum = i / x + 1; 18 if (Xnum == 0) 19 { 20 Xnum = x; 21 } 22 Label lable = new Label(); 23 lable.Location = new Point(20 + i % y * 70, 20 + a * 70); 24 lable.Size = size; 25 lable.Tag = lable.Size.Width.ToString() + ',' + lable.Size.Height.ToString(); 26 lable.BackColor = Color.Yellow; 27 lable.Name = "lable" + i.ToString(); 28 lable.Visible = true; 29 page.Controls.Add(lable); 30 } 31 }
記得引用Drawing
分享連接:https://pan.baidu.com/s/17LonA98_Mc7KuttDhxFlJg
女友3D魔方相冊連接
https://www.cnblogs.com/wl192/p/11511200.html