基于相邻标签 C# 的标签位置
本文关键字:标签 位置 于相邻 | 更新日期: 2023-09-27 18:36:30
假设我有两个带有可变文本的标签。标签 1 位于屏幕中央。我可以将标签 2 放置在标签 1 的右侧:
label1.Location = (WIDTH / 2, Height / 2)
label2.Location = new Point(label1.Right, label1.Top);
表单输出:
_______________
| |
| 100 200 |
|_______________|
现在我想做同样的事情,但将标签 2 放在标签 1 的左侧。我该怎么做?
表单输出:
_______________
| |
| 200 100 |
|_______________|
如果label2
的大小已经正确,你可以从label1
的左侧减去它的宽度:
label2.Location = new Point(label1.Left - label2.Width, label1.Top)
图:
-----(标签1.左 - 标签 2。宽度) | | -----标签1.左 _|___|_________|V V | |+---+---+ <--------标签1.返回页首| |200|100| ||+---+---+ | |'---' ||___|__________| | -----标签2.宽度
从第一个标签的左点开始定位第二个标签,减去要放置的标签的 witdh
label2.Location = new Point(label1.Left - label2.Width, label1.Top);
顺便说一下,用于第一个标签的值应考虑标签的宽度和高度,使其真正位于标签容器的中心。因此,假设您希望第一个标签位于其包含形式的中心,您应该使用这样的公式
int leftPos = (this.Width / 2) - (label1.Width / 2);
int topPos = (this.Height / 2) - (label1.height / 2);
label1.Location = new Point(leftPos, topPos)