我正在使用Visual Studio 2015社区C#。 我在Windows窗体上有两个标签,假设是Label1和Label2。 这些标签将填充用户输入,即名字和姓氏。 如何在它们之间放置均匀的空间,以便在运行时第一个名称不会覆盖姓氏。
AbrahLincoln Abraham Lincoln
(Label1^)(^Label2) (^Label1) (^Label2)
例如:如何制作^ INTO>>>>>>>>>>>> ^^
因为如果我在运行之前在表单设计中放置空格,那么对于其他名称它将是这样的:John(不必要的空间)Doe
希望你能理解我的问题。 谢谢你的时间。 :d
答案 0 :(得分:1)
控件位于基于坐标的表单中。幸运的是,这些控件具有告诉您控件顶部,左侧,右侧,底部坐标的属性。因此,您可以在设置文本后动态移动正确的标签。
Label2.Point = new Point(Label1.Right + 5, Y-coord);
更简单的方法是在设计师中使用标签属性。
答案 1 :(得分:1)
您也可以尝试右侧的label1
label2
和左侧的SplitContainer
。这样你应该有一个干净的中间线,随着文本变大,它向外推动不会向内重叠。
但是你需要一个对象来锚定,幸运的是tuple(list['a','b'])
对此非常有用。
还可以考虑将autosize属性设置为off并最大化标签的宽度。足够大,你想要的字符串。
答案 2 :(得分:0)
您是否考虑过制作一个标签? 如在
theOnlyLabel.Text = $"{dataObject.FirstName} {dataObject.LastName}";
或者,如果您正在使用文本框,例如
theOnlyLabel.Text = $"{txtFirstName.Text} {txtLastName.Text}";
否则,我担心,每当您的姓名更改时,您都必须重新对齐这两个标签。