如何在运行时控制两个标签之间的空间

时间:2016-07-04 13:40:00

标签: c# sql visual-studio

我正在使用Visual Studio 2015社区C#。 我在Windows窗体上有两个标签,假设是Label1和Label2。 这些标签将填充用户输入,即名字和姓氏。 如何在它们之间放置均匀的空间,以便在运行时第一个名称不会覆盖姓氏。

                     AbrahLincoln                  Abraham Lincoln
                 (Label1^)(^Label2)              (^Label1) (^Label2) 

例如:如何制作^ INTO>>>>>>>>>>>> ^^

因为如果我在运行之前在表单设计中放置空格,那么对于其他名称它将是这样的:John(不必要的空间)Doe

希望你能理解我的问题。 谢谢你的时间。 :d

3 个答案:

答案 0 :(得分:1)

控件位于基于坐标的表单中。幸运的是,这些控件具有告诉您控件顶部,左侧,右侧,底部坐标的属性。因此,您可以在设置文本后动态移动正确的标签。

Label2.Point = new Point(Label1.Right + 5, Y-coord); 

更简单的方法是在设计师中使用标签属性。

答案 1 :(得分:1)

您也可以尝试右侧的label1 label2和左侧的SplitContainer。这样你应该有一个干净的中间线,随着文本变大,它向外推动不会向内重叠。

但是你需要一个对象来锚定,幸运的是tuple(list['a','b'])对此非常有用。

enter image description here

还可以考虑将autosize属性设置为off并最大化标签的宽度。足够大,你想要的字符串。

答案 2 :(得分:0)

您是否考虑过制作一个标签? 如在

theOnlyLabel.Text = $"{dataObject.FirstName} {dataObject.LastName}";

或者,如果您正在使用文本框,例如

theOnlyLabel.Text = $"{txtFirstName.Text} {txtLastName.Text}";

否则,我担心,每当您的姓名更改时,您都必须重新对齐这两个标签。