WinForms - 使用水平滚动条动态添加多行文本框到面板

时间:2014-11-04 11:07:13

标签: winforms

我得到了一个必须在Winforms中重现的设计。我的尝试如下所示......

enter image description here

目前我有5个静态标签和5个静态多行文字框来保存我的“项目”列表......

但是,我需要能够处理超过5列......

在Winforms中没有大量体验,能够使用水平滚动条添加其他列以使用户能够从左向右滚动的最佳方法是什么?

我在考虑可能是一个面板,滚动条设置为自动,然后在计算位置动态添加标题和文本框?

这可能吗?这是最好的方法吗?

非常感谢任何帮助。

由于

崔佛

2 个答案:

答案 0 :(得分:0)

是的,这看起来是这样做的方式......

此代码可作为测试......

        int number = 0;
        int LocationX = 169;

        while (number < 10)
        {

            // create a new multiline text box
            TextBox trev = new TextBox();
            trev.Size = txtParent1.Size;
            trev.Location = new Point() { X = txtParent1.Location.X + LocationX, Y = txtParent1.Location.Y };
            trev.Name = number.ToString();

            panelSummary.Controls.Add(trev);

            number = number + 1;
            LocationX += 169;
        }

答案 1 :(得分:0)

您可以创建一个包含标签和文本框的视图,并在主视图中使用TableLayoutPanel,为每个视图创建一个新列,并在Dock中将视图添加到Fill中。这样,调整大小和滚动由TableLayoutPanel处理。

TableLayoutPanel