gpt4 book ai didi

c# - TableLayoutPanel 中的垂直滚动条

转载 作者:行者123 更新时间:2023-11-30 21:50:20 26 4
gpt4 key购买 nike

如果内容高于面板本身,我希望能够在 TableLayoutPanel 内滚动。
我试过:

  • AutoScroll 设置为 true(添加 unnecessary horizontal scrollbar )
  • 另外在右侧添加 Padding 以防止出现水平滚动条(在内容和滚动条之间留下讨厌的间隙)
  • AutoScroll 设置为 false 并将 VerticalScroll.Visible 设置为 true不允许用户滚动)

我怎样才能得到一个令人愉快的垂直滚动条而没有令人讨厌的副作用?


一些可运行的代码:

public class FormTLPTest : Form
{
TableLayoutPanel tlp;

public FormTLPTest()
{
Height = 800;
Width = 800;

tlp = new TableLayoutPanel();
tlp.Dock = DockStyle.Fill;
tlp.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single;
//tlp.AutoScroll = true; //adds horizontal ScrollBar
//tlp.Padding = new Padding(0, 0, SystemInformation.VerticalScrollBarWidth, 0); //prevents horizontal ScrollBar but adds nasty gap
tlp.VerticalScroll.Visible = true;
tlp.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100.0F));

Controls.Add(tlp);

tlp.Click += Tlp_Click;

Add10Lines();
}

private void Tlp_Click(object sender, System.EventArgs e)
{
Add10Lines();
}

private void Add10Lines()
{
tlp.SuspendLayout();

for (int i = 0; i < 10; i++)
{
Label lb2 = new Label();
lb2.Margin = new Padding();
lb2.Dock = DockStyle.Fill;
lb2.BackColor = Color.White;
lb2.Text = "Some longer Text - it contains information. Don't know what I should write to fill the space";

lb2.Click += Tlp_Click;

tlp.Controls.Add(lb2, 0, i);
}

tlp.ResumeLayout();
}
}

最佳答案

您发布的代码对我有用,只需将自动滚动设置为 true,然后 tlp.Horizo​​ntalScroll.Visible = false;

编辑:无论如何,我只是注意到了水平条,我的决议隐藏了它。无论如何,将自动滚动设置为 false,然后添加
tlp.AutoScroll = true;tlp.ResumeLayout(); 在 Add10Lines() 方法中。

关于c# - TableLayoutPanel 中的垂直滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36420537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com