我有一个带有状态条的表单,其中包含一个进度条和一个标签。这两者都用于向用户显示几个后台工作人员的状态/进度。
我的问题是,有时标签长于表单宽(它包含长度变化很大的参数名称)。该表单具有恒定的宽度,并且用户无法调整其大小。当出现此问题时,标签只是显示为空白,我想将标签切割成表单的长度并在最后连接“...”。
谁能给我一些建议,从哪里开始?我已经尝试过 Google 和 SO 搜索,但无法找到类似的东西。我基本上需要找到字符串的长度,因为它将显示在表单上,但我不知道从哪里开始。
首先要做的是将StatusStrip.LayoutStyle
from更改Table
为Flow
。这将防止标签消失。接下来,您仍然希望用户有机会阅读标签的全文,即使它已被截断。将StatusStrip.ShowItemToolTips
属性设置为True
并将标签设置AutoToolTip
为True
。
让标签的文本不与手柄重叠是一个更难解决的问题,但是由于您使表单无法调整大小,因此您没有这个问题。将表单的SizeGripStyle
属性设置为Hide
。
这将解决您的问题,无需代码。
你可以尝试这样的事情:
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