.NET拆分器控件显示

时间:2009-05-26 13:23:28

标签: .net vb.net winforms splitter

我在VB.NET中创建了一个Winform,并添加了一个Splitter控件,允许在运行时调整面板大小。

我的问题是分离器控制不明显。我想以一种用户可能知道表格可以调整大小的方式出现。目前,我基本上只是改变了颜色,但我不喜欢它的样子。

有人能告诉我使用此控件的正确方法,以便用户立即了解面板是否可调整大小?

4 个答案:

答案 0 :(得分:7)

我正准备提出边界技巧(你自己发布)。我通常做的另一件事是我为Splitter控件的MouseEnter和MouseLeave事件挂钩事件处理程序,并在那里添加这段代码:

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;
}

当鼠标经过它时,Splitter会“亮起”(或者更确切地说是阴影......),引起人们的注意,你可以在那里与之交互。

答案 1 :(得分:0)

好,

我想如果我将Panel设置为有边框,看起来面板可以调整大小。

我没有边框设置,因此分割器不可见。

答案 2 :(得分:0)

您可以将SplitterWidth属性设置为更大的值,以使其更加可见。

当鼠标悬停在Splitter控件上时,您也可以更改鼠标光标。类似的想法是当鼠标悬停在控件上时显示工具提示。

答案 3 :(得分: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