winforms 在面板上的标签和垂直滚动条上环绕文本

pprl5pva  于 2022-11-17  发布在  其他
关注(0)|答案(4)|浏览(151)

我有一个标签在面板中。当文本超过时,标签文本应该换行。为此我设置了mylabel的AutoSize = false和MaximumSize = 100,0。
现在,由于文本被 Package ,垂直滚动条应该出现在面板上。但这并没有发生,请指定我在这里错过了什么。是否可以这样做,或者我应该显式地添加一个垂直滚动条在面板内?

kkih6yb8

kkih6yb81#

1)你需要把标签放在面板里面
2)标签的AutoSize应为TRUE
3)面板的AutoSize应为FALSE
4)面板的AutoScroll应为True
就是这样!

70gysomp

70gysomp2#

您应该将AutoSize设置为true以自动换行。对于滚动条,请检查您是否设置了panel.VerticalScroll.Visible = true;

goqiplq2

goqiplq23#

您是否具有Scrollable=true或AutoScroll属性?
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.panel.scrollbars.aspx
试试看:

ScrollBar vScrollBar1 = new VScrollBar();
vScrollBar1.Dock = DockStyle.Right;
vScrollBar1.Scroll += (sender, e) => { panel1.VerticalScroll.Value = vScrollBar1.Value; };
panel1.Controls.Add(vScrollBar1);
nhjlsmyf

nhjlsmyf4#

关于这个问题,已经是很久以前的事了。解答:
1.面板1.自动滚动=真
1.标签1.AutoSize =真
1.标签1.MaximumSize =新大小(面板1.ClientRectangle.Width- 18,0)
重要的是为标签宽度定义MaximumSize。高度保留为0(零)。高度将随标签内容增长。
在这种情况下,标签的最大宽度将是面板的宽度-对于滚动条为18 px。

相关问题