2012-08-31 33 views
0

请看下面的两个长链接标签(请忽略上面的黑线) 链接标签的长度是在运行期间动态制作的,正如所见,可能是它太长并且会与其他文本重叠(有另一个文本,你看到'差异')。正在寻找一个更好的替代方案

enter image description here

我的问题是:

一)我可以限制的LinkLabel的最大长度?

b)如果过长,可以使用带有linklabel(或任何类似控件)的滚动条吗?例如将其设置为200像素,如果时间更长,用户必须滚动水平滚动条并查看文本的结尾。

我使用VB.NET在Visual Studio 2008中

THANK YOU

+0

很高兴知道你正在使用VB,但我们也需要知道你在编程之:我假设你在的WinForms工作? – Terry

+0

LinkLabel已经很好的支持这个功能,不需要代码。在设计器中,将其AutoSize属性设置为False,将AutoEllipsis属性设置为True。请注意您在运行时获得的工具提示。多玩一些属性,看看它们有什么影响,这可以为你节省很多时间。 –

回答

1

“一个)我可以限制一个linklabel的最大长度?“

标签和链接分开存储,因此您可以使用SubString将标签的长度限制为特定数量的字符。

b)如果过长,可以使用带有linklabel(或任何类似控件)的滚动条吗?例如将其设置为200像素,如果时间更长,用户必须滚动水平滚动条并查看文本的结尾。

您可以创建一个用户控件,将Autoscroll设置为true,并在用户控件中放置一个linklabel。确保滚动条的标签下方有足够的空间,以防链接标签从包含的用户控件中跳出。

希望这有助于 的Gabor

1

这是否会帮助......然而,代码是标签

Private Sub InitializeLabel() 
Me.Label1 = New Label 
Me.Label1.Location = New System.Drawing.Point(10, 10) 
Me.Label1.Name = "Label1" 
Me.Label1.TabIndex = 0 

' Set the label to a small size, but set the AutoSize property 
' to true. The label will adjust its length so all the text 
' is visible, however if the label is wider than the form, 
' the entire label will not be visible. 
Me.Label1.Size = New System.Drawing.Size(10, 10) 
Me.Controls.Add(Me.Label1) 
Me.Label1.AutoSize = True 
Me.Label1.Text = "The text in this label is longer than the set size." 

End Sub