首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TableLayoutPanel显示垂直滚动

TableLayoutPanel显示垂直滚动
EN

Stack Overflow用户
提问于 2013-03-26 00:54:27
回答 5查看 14.5K关注 0票数 15

我有用于动态创建AutoScroll = true控件的TableLayoutPanel。当我添加新控件时,它工作得很好。但是当我移除并且所有控件都可见时,垂直滚动也是可见的。这里有一些截图:

预期/正确的滚动可见性:

不正确的可见性:

有什么想法吗?

更新:以下是一些代码

代码语言:javascript
复制
tableLayoutPanel1.SuspendLayout();
tableLayoutPanel1.RowCount = 0;
tableLayoutPanel1.RowStyles.Clear();
tableLayoutPanel1.AutoScroll = true;
tableLayoutPanel1.Padding = new Padding(0, 0, SystemInformation.VerticalScrollBarWidth, 0);
foreach (var item in objects)
{
     tableLayoutPanel1.RowCount++;
     tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.AutoSize));
     tableLayoutPanel1.Controls.Add(CreateNewItem(item));
 }

 tableLayoutPanel1.RowCount++;
 tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.AutoSize));
 tableLayoutPanel1.Controls.Add(CreateAddButton());

 tableLayoutPanel1.ResumeLayout();

和删除代码

代码语言:javascript
复制
tableLayoutPanel1.SuspendLayout();
tableLayoutPanel1.Controls.Remove(item);
tableLayoutPanel1.RowStyles.RemoveAt(0);
tableLayoutPanel1.RowCount--;
tableLayoutPanel1.ResumeLayout();

AutoSize为true,AutoSizeMode为GrowAndShrink

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-09-01 15:50:44

这个问题与TableLayoutPanel scrolling有关。

您必须使用面板而不是TableLayoutPanel来进行滚动。

下面是一个解决这个问题的例子(对于垂直滚动):

按如下方式设置TableLayoutPanel属性:

  • Dock = DockStyle.Top
  • AutoSize = true
  • AutoSizeMode = AutoSizeMode.GrowAndShrink
  • AutoScroll = false.

  • 将您的TableLayoutPanel放入带有属性的面板:
    • Dock = DockStyle.Fill
    • AutoScroll = true
    • AutoSize = false.

票数 50
EN

Stack Overflow用户

发布于 2013-03-26 01:29:05

删除动态控件时,需要删除在添加过程中插入的额外行,并将表布局面板高度重新调整为小于滚动容器高度。

在添加过程中,表格布局面板的高度会增加,这是由滚动容器处理的;但是当您删除控件时,表格布局面板的高度并不会减少它的高度以适应滚动容器。

要做到这一点,一种方法是为行指定固定的高度,并将表格布局面板设置为“自动”。

票数 2
EN

Stack Overflow用户

发布于 2020-09-18 02:35:27

最简单和最有趣的解决方案之一就是禁用和启用tableLayoutPanel1.AutoScroll

在您的删除过程代码中,在末尾添加这些代码:

代码语言:javascript
复制
    tableLayoutPanel1.AutoScroll = False
    tableLayoutPanel1.AutoScroll = True
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15620454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档