前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Winform 后台将指定的控件集合添加到制定容器中

Winform 后台将指定的控件集合添加到制定容器中

作者头像
FreeTimeWorker
发布2020-08-31 13:35:40
发布2020-08-31 13:35:40
2.3K00
代码可运行
举报
文章被收录于专栏:C#开发点点滴滴C#开发点点滴滴
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
复制
 1          /// <summary>
 2         /// 把按钮按照行数分割排列
 3         /// </summary>
 4         /// <param name="ControlArry">按钮集合</param>
 5         /// <param name="control_parent">父容器</param>
 6         /// <param name="RowCount">每一行数量</param>
 7         /// <param name="ControlSize">控件大小</param>
 8         /// <param name="pad">间隔大小</param>
 9         private void ControlToControlResize(Control[] ControlArry, Control control_parent, int RowCount, Size? ControlSize, Padding pad)
10         {
11             //计算按钮相关信息
12             control_parent.Controls.Clear();
13             //列数
14             int yCount = 0; int xCount = RowCount;
15             if (ControlArry.Length < RowCount) //定义一列展示的数量大于总控件
16             {
17                 yCount = 1;
18             }
19             else
20             {
21                 yCount = ControlArry.Length % RowCount == 0 ? ControlArry.Length / RowCount : ControlArry.Length / RowCount + 1;
22             }
23             Padding ParentsPadding = control_parent.Padding;
24             Size btnSize = new System.Drawing.Size();
25             if (ControlSize != null)
26             {
27                 btnSize = (Size)ControlSize;
28             }
29             else
30             {
31                 btnSize.Width = Convert.ToInt32(Math.Floor(((double)control_parent.Width - (ParentsPadding.Left + ParentsPadding.Right)) / RowCount));
32                 btnSize.Height = Convert.ToInt32(Math.Floor(((double)control_parent.Height - (ParentsPadding.Top + ParentsPadding.Bottom)) / yCount));
33             }
34             int index = 0;
35             for (int i = 0; i < yCount; i++)//行数
36             {
37                 for (int j = 0; j < xCount; j++)//一行多少个
38                 {
39                     if (index >= ControlArry.Length)
40                     {
41                         break;
42                     }
43                     else
44                     {
45                         ControlArry[index].Size = btnSize;
46                         ControlArry[index].Padding = pad;
47                        ControlArry[index].Location = new Point(j * btnSize.Width + ParentsPadding.Left, i * btnSize.Height + ParentsPadding.Top);
48                         index++;
49                     }
50                 }
51             }
52             control_parent.Controls.AddRange(ControlArry);
53         }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-01-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档