更改状态栏标签中的属性

时间:2010-10-17 14:14:06

标签: vb.net visual-studio visual-studio-2010

当子窗口打开时,我使用以下代码在状态条中创建Label。

Public Sub StatusStripPanelAdd(ByVal lCount As Integer, ByVal sImage As System.Drawing.Image, ByRef sText As String, ByVal sender As Object, ByVal e As System.EventArgs)

    With (StatusStrip2)

        .Items.Add(sText, sImage)

    End With

    Dim MyOwner As System.Windows.Forms.ToolStrip = StatusStrip2.Items.Item(lCount).Owner

    Dim MyValue As System.Windows.Forms.ToolStripItem = StatusStrip2.Items(lCount)

    Dim AccLabel As Object = MyValue

    Dim MyStripLabel As ToolStripStatusLabel = AccLabel

    MyStripLabel.BorderStyle = Border3DStyle.RaisedOuter

    MyStripLabel.LinkBehavior = LinkBehavior.HoverUnderline

End Sub

我的问题是标签不是外部标记或标签的行为不是HoverUnderLine。 有没有人知道如何将状态标签设置为beraisedouter或HoverUnderLine? 我在vb.net中编写代码。

2 个答案:

答案 0 :(得分:2)

您需要设置一些其他属性以启用边框和链接行为。这很有效:

    Dim item = New ToolStripStatusLabel(sText, sImage)
    item.BorderSides = ToolStripStatusLabelBorderSides.All
    item.BorderStyle = Border3DStyle.RaisedOuter
    item.LinkBehavior = LinkBehavior.HoverUnderline
    item.IsLink = True
    StatusStrip1.Items.Add(item)

答案 1 :(得分:0)

这是你想要的:


ToolStripStatusLabel myLabel = ((ToolStripStatusLabel)statusStrip1.Items[statusStrip1.Items.Count - 1]);
myLabel.LinkBehavior = LinkBehavior.HoverUnderline;
myLabel.BorderStyle = Border3DStyle.RaisedOuter;