getstr88 发表于 2022-7-8 08:26

C# winForm想实现一个label的中心永远钉在屏幕某个位置,文本长度变化自动调,仍旧...

C# winForm想实现一个label的中心永远钉在屏幕某个位置,文本长度变化后,仍旧能保持中心点位置不变,使文本均匀分布在于中心点两侧

这个winform提供直接的功能实现了么?我看调acthor也没有什么用处啊。文本增加,永远是label位置不变,新增文本在右边

目前,我只能用很挫的办法,每当文本长度变化,自己根据label现在width算出应该设到什么位置,表现上好像新的中心点位置没变

但我感觉winfrom怎么也是个成熟的UI框架,应该不可能只能用我这种傻办法自己做吧?

lizf2019 发表于 2022-7-8 08:37

就是说你的意思是让文本从中间写起是吗?
不太明白你的第二个需求,定在某一个位置,是在窗口还是只是文本框?

不知道改成啥 发表于 2022-7-8 08:38

长度百分百,屏幕居中就行了。

lizf2019 发表于 2022-7-8 08:41

http://www.cskin.net/
下载一个Cskin.dll,免费的.里面的skinlabel有你想要的功能,让文本从中间写起,

lizf2019 发表于 2022-7-8 08:42

个人感觉倒也不能说代表winform成熟,他只是最基础的东西,集合起来,真正实战应用需要自己去开发用户控件的

qwuiop789 发表于 2022-7-8 08:43

设置位置居中

popdes 发表于 2022-7-8 08:50

属性里: autosize=false; textalign=middlecenter; 设置一下就行了,

liuyilin999 发表于 2022-7-8 09:00

这是一件最简单的事了。

aiwu 发表于 2022-7-8 09:07

直接居中不就好了

星峰 发表于 2022-7-8 09:18

文本chang事件,重新计算lable长度,再设置位置为屏幕长度-lable长度除以二
页: [1] 2
查看完整版本: C# winForm想实现一个label的中心永远钉在屏幕某个位置,文本长度变化自动调,仍旧...