我有一个带状态条的表单,其中包含一个进度条和一个标签。这两个用于向用户显示几个后台工作人员的状态/进度。
我的问题是有时标签比表格宽(它包含长度变化很大的参数名称)。表单具有恒定的宽度,并且不能由用户重新调整大小。当出现此问题时,标签只显示为空白,我希望将标签剪切为表单的长度并在末尾连接“...”。
任何人都可以给我一些关于从哪里开始的建议吗?我已经尝试过Google和SO搜索,并且无法提出任何相似的内容。我基本上需要找到字符串的长度,因为它将显示在表单上,但我不知道从哪里开始。
答案 0 :(得分:2)
首先要做的是将StatusStrip.LayoutStyle
从Table
更改为Flow
。这将防止标签消失。接下来,您仍然希望用户有机会阅读标签的全文,即使它被截断。将StatusStrip.ShowItemToolTips
属性设置为True
,将标签AutoToolTip
设置为True
。
让标签的文字与手柄不重叠是一个更难以解决的问题,但是你没有这个问题,因为你的表单不可调整。将表单的SizeGripStyle
属性设置为Hide
。
这将解决您的问题,无需代码。
答案 1 :(得分:0)
您可以尝试这样的事情:
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
If Label1.Text.Length > iMaxLblLenght Then
Label1.Text = Label1.Text.Substring(0, iMaxLblLenght) & "..."
End If
End Sub