winform的label内容居中_winform如何让一个控件文字居中,TEXTBOX文字能垂直居中吗?...

由于Winform的自带的滚动条的效果太差,重载滚动条绘制过程有没有什么太大的意义,于是干脆自己写了一个可以滚动的控件容器.

在此过程中,需要自己定义一些我常用到的容器内的元素.那么这个元素就用到了垂直和横向的居中.

winform的Textbox控件是只能水平居中不能垂直居中的,而且他的高度通常都是靠你自己设置的字体的大小来决定的.

有人想到了用Textbox的多行显示 然后再让文本居中,但是如果不是文字高度的2的整数倍+1的高度的话 很难达到美观的效果

于是想到了一个可以约束垂直效果的Label

但是通常Label是没有办法设定他的大小的,文字有多少,字体有多大,他就会默认的被撑开

这时我们可以通过Label的一个属性来设置

如果有经验的人,可能想的是将Label的Anchor属性设置为 Top, Bottom, Left, Right 就可以了

但是他不会奏效的,这时我们可以在他的下面放一个TableLayoutPanel

然后设置TabelLayoutPanel的Dock=Fill

然后在TabelLayoutPanel上放置一个Label

把Label的Anchor属性设置为 Top, Bottom, Left, Right ,然后设置Label的Textalign属性为MiddleCenter即可

最终实现的效果就是这样了

还有一个比较方便的方法 就是用Botton代替 ,直接添加在父容器上,然后Botton的Dock=Fill就可以  再设置一下背景色和样式  也是不错的方案

这个方案不需要依赖TableLayoutPanel 而且还有一些按钮的特性

这个就不用多说.

如果不光是为了显示 还需要编辑文本的功能 可以自己重写点击 按照Label的字体大小 安装一个假装透明的Textbox在Label上面

由于我只是需要用到展示,做单列选择的元素使用,所以我暂时不实现外套Textbox的部分.如果切实有需求后续可以补充.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值