getstr88 发表于 2022-6-15 23:32

C# winform中,有没有锚点功能,实现左边一个label,右边textbox的位置随label文本...

C# winform中,有没有锚点功能,实现左边一个label,右边textbox的位置随label文本长度变化而变化。使得textbox的左边缘,始终与改变内容从而改变长度后的label的右边缘,保持固定像素距离?

unity等游戏引擎的UI库,都可以设置很灵活的锚点,上面情况,很容易设置textbox的左边缘锚点label右边缘,设定固定像素即可

但看winform,貌似用anchor、dock都做不到吧?只能用代码监听label变化,然后自己算localtion然后改textbox的新位置么?

我心飞翔1995 发表于 2022-6-16 00:44

控件布局选项 - Windows Forms .NET | Microsoft Docs
https://docs.microsoft.com/zh-cn/dotnet/desktop/winforms/controls/layout?view=netdesktop-6.0

getstr88 发表于 2022-6-16 06:44

我心飞翔1995 发表于 2022-6-16 00:44
控件布局选项 - Windows Forms .NET | Microsoft Docs
https://docs.microsoft.com/zh-cn/dotnet/desktop/ ...

这里面并没有解决我这个问题的答案啊

你是不是想说流布局? 但他没有提供设置两个水平相邻控件之间间隔多少的功能吧

getstr88 发表于 2022-6-16 06:48

哦,每个控件还可以设置margin

fxyc87 发表于 2022-6-16 08:38

有个table布局控件,

getstr88 发表于 2022-6-16 08:40

fxyc87 发表于 2022-6-16 08:38
有个table布局控件,

不适合。把界面弄得太乱了。解决了。flowlayout+matgin

lin326326 发表于 2022-6-16 09:02

resize事件呢

Light紫星 发表于 2022-6-16 11:29

winform确实不好搞,不如试试wpf

momosys 发表于 2022-6-16 11:44

每个控件有Anchor属性,如果你左边是label,右边是textbox,要让textbox宽度随窗口尺寸变化就把textbox的anchor属性设置为left.top,right即可

getstr88 发表于 2022-6-16 14:11

结贴了,我上面已经说解决了哦
flowlayout+matgin
页: [1]
查看完整版本: C# winform中,有没有锚点功能,实现左边一个label,右边textbox的位置随label文本...