2010-10-17 37 views
0

我使用以下代碼在子窗口打開時在狀態條中創建一個標籤。更改狀態欄標籤中的屬性

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寫我的代碼。

+0

我的第一個問題是,爲什麼你聲明這個'昏暗AccLabel作爲對象= MyValue'? – 2010-10-17 14:29:12

+0

我們可以省略這一行,並進一步,因爲它的工作原理(我的意思是代碼將會)沒有任何問題。 Basicaly我把它這樣,因爲我有上一行作爲ToolStripItem,並希望分配它在ToolStripStatusLabel,所以我使用的對象。但沒有它就可以正常工作。 – 2010-10-17 14:52:33

回答

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) 
+0

你的幫助很大,你能告訴我我將如何改變字體家族和字體大小嗎? – 2010-10-17 15:13:16

+0

@左 - 這是另一個問題,請開始一個新的問題。 – 2010-10-17 15:15:55

+0

您好,我非常感謝您爲您提供的所有幫助 – 2010-10-17 15:40:14

0

這裏是你想要的東西:


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

VB中的行來自Dim myLabel As ToolStripStatusLabel =((ToolStripStatusLabel)statusStrip2.Items [StatusStrip2.Items.Count - 1])。 請交叉檢查,如果我有任何錯誤。即使如此,該指令不適用於VB,也沒有看到括號內的參數關閉,是適合的嗎?非常感謝你的幫助 – 2010-10-17 15:05:41