用数组的方式定义二维文本框 代码实现文本框的整齐排列

本人是新人小白,第一次写东西,内容很简单 ,就当是自己的小小记录吧。

可能有一些像我一样的小白,在自己刚学习制作窗体应用程序的时候,都特别烦一些控件的放置,一个个拖特别累,尺寸距离等也不好调节。我在学习了师兄的部分代码后,觉得他的这个思路很好,在这里与大家分享。

一种代码实现文本框整齐排列的思路,其他控件也可参考。

public class AddControls
        {
            //  函数作用:ADDTextBox()为动态添加二维文本框函数,添加TextBox至GroupBox
            //  参数:
            //  tbx为文本框数组;gbx为文本框所添加到哪个GroupBox;
            //  rows,cols分别表示文本框的行数和列数;
            //  width和height分别表示文本框的宽度和高度;
            //  x,y分别表示文本框在GroupBox中水平方向及竖直方向的位置;
            //  step_x,step_y分别表示多个文本框水平方向及竖直方向的间距;
            public void ADDTextBox_2D(ref TextBox[,] tbx, GroupBox gbx, int rows, int cols, int width, int height, int x, int y, int step_x, int step_y)
            {
                tbx = new TextBox[rows, cols];
                for (int i = 0; i < rows; i++)
                    for (int j = 0; j < cols; j++)
                    {
                        tbx[i, j] = new TextBox();
                        gbx.Controls.Add(tbx[i, j]);
                        tbx[i, j].Width = width;
                        tbx[i, j].Height = height;
                        tbx[i, j].Location = new Point(x + step_x * j, y + step_y * i);
                        tbx[i, j].TextAlign = HorizontalAlignment.Center;
                        //tbx[i, j].BorderStyle = BorderStyle.FixedSingle;

                    }
            }
        }

这就是最核心的部分。但在使用该类之前,需要先对文本框进行全局范围的定义。

public static TextBox[,] tbx_DH;

恕我眼拙,其实此处我一开始并没有看懂,不知道TextBox也可以作为数组类型。后来我发现,此处的TextBox就是一个类,和int、double是平行的!也就是说tbx_DH是一个数组,只不过其中每个元素都是文本框罢了。然后只要使用循环逐个对每个元素进行长宽高距离等的设定即可。

同理,Command等各种控件,需要对其进行排列的任何类型的控件,甚至不只是控件,都可以用这种方法来实现。同时,数组也可以是一维的,所以一行一列也可以完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值