C#如何让控件一直在窗体中间显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何让控件一直在窗体中间显示相关的知识,希望对你有一定的参考价值。

就是控件会随时变换长度
让他变换长度后整体也是在窗体的中间
而不是向右拉伸

C#控件都有一个Anchor属性,而且Anchor属性的默认值都是Top,Left,因此当窗体大小变化时,你会发现控件的位置相对于整个窗体而言发生了变化。
想让控件一直在窗体中间显示,那么可以修改Anchor属性,将其值修改为None,再次预览就会发现控件会一直在窗体中间显示。
参考技术A 必须吧控件装在一个容器里面才能实现这个效果,你这种情况,只能在下面放一个3*3的tablecontrol,把你的控件放在中间那个格子里,定义好第二行第二列的高宽,一行一列和三行三列的宽度、高度定为50%,然后tabcontrol dock到父窗体中,你的控件也就一直在中间了。
没仔细看楼主的问题,我想你应该是想讲label内容限定在某个范围内显示,不让他无限制的自动增长,这种情况还是要这个思路,将label放在容器里以限制宽度,然后设置那个自动换行属性为true,文本对齐为居中对齐,这样就会居中自动增长,且到达容器宽度后自动换行。
参考技术B mark 一下~~ 参考技术C 学习了! 参考技术D 选择该控件,在属性面板中修改其anchor属性为上下左右就可以了。追问

不行啊 我现在的状况是一个label控件text初始值是空 然后我通过操作程序 给他在代码里赋值一个很长的字符串text=SDFDFGDHSHFGHSHDSGHFH; 然后运行结果就是从程序中间开始一直往后延伸

追答

根据楼下那位仁兄的方法我试了一下,总结方法如下:首先拖拽TableLayoutPanel到窗口,设置其Dock和Anchor属性。然后拖拽textbox到TableLayoutPanel中,设置其Dock和Anchor属性,如果设置正确的话应该可以出现你想要的效果。试试吧

本回答被提问者采纳

以上是关于C#如何让控件一直在窗体中间显示的主要内容,如果未能解决你的问题,请参考以下文章

C#如何让窗体中间一部分让鼠标透过

C# 能够让窗体的高度超过屏幕的最大高度吗?winform实现浏览器的效果。

C++ Builder中如何让窗体一直显示最前,焦点不失去,就是点不了别的窗体,切换不了窗体,总处在被激活状态

C# 窗体,里多个控件布局相对居中

C# winform 怎么让窗体接受条码扫描器的输入

在C#环境下使用winfrom时如何让窗体根据用户显示器的分辨率来调整窗体的分辨率?