2009-05-26 87 views
4

我在VB.NET中創建了一個Winform,我添加了一個Splitter控件來允許在運行時調整面板大小。.NET分離器控制顯示器

我的問題是分離器控制不明顯。我想讓用戶知道表單可以調整大小。目前,我基本上只是改變了顏色,但我不喜歡它的外觀。

任何人都可以告訴我使用此控件的正確方法,以便用戶能夠立即理解面板可以調整大小嗎?

回答

7

我剛剛提出了邊框技巧(你張貼自己)。我通常做的另一件事是,我掛鉤事件處理程序的MouseEnter和鼠標離開事件Splitter控件,並添加以下代碼有:

private void Splitter_MouseEnter(object sender, EventArgs e) 
{ 
    ((Splitter)sender).BackColor = SystemColors.ControlDark; 
} 

private void Splitter_MouseLeave(object sender, EventArgs e) 
{ 
    ((Splitter)sender).BackColor = SystemColors.Control; 
} 

這樣的分離器「點亮」(或者更確切地說,陰影當鼠標通過它時,請注意,有一個控件可以在那裏與之交互。

+0

感謝您的提示。我已經將此添加到我的代碼中,並且從我的角度來看,它確實提高了可用性。 – jgallant 2009-05-26 13:43:32

0

好吧,

我想,如果我設置面板有一個邊界,它看起來像面板可以調整。

我沒有邊框設置,因此分離器不可見。

0

您可以將SplitterWidth屬性設置爲更大的值以使其更顯眼。

當鼠標懸停在分離器控制上時,您也可以更改鼠標光標。類似的想法是當鼠標在控件上時顯示工具提示文字。

0

我喜歡派生控制,所以我可以使所有的分離器工作相同。添加屬性使其對IDE工作得更好,因此編碼人員可以在設計時更改它。

Public Class HighlightSplitContainer 
    Inherits SplitContainer 

    Property HighlightColor As Color = SystemColors.ControlDark 

    Protected Overrides Sub OnMouseEnter(e As System.EventArgs) 
     BackColor = HighlightColor 
     MyBase.OnMouseEnter(e) 
    End Sub 

    Protected Overrides Sub OnMouseLeave(e As System.EventArgs) 
     BackColor = SystemColors.Control 
     MyBase.OnMouseLeave(e) 
    End Sub 
End Class