4

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

我的问题是拆分器控件不明显。我想让它以一种用户知道表单可以调整大小的方式出现。目前,我基本上只是改变了颜色,但我不喜欢它的外观。

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

4

4 回答 4

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 会“亮起”(或者更确切地说,阴影会下降......),从而引起人们注意那里有一个可以与之交互的控件。

于 2009-05-26T13:30:14.207 回答
0

好的,

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

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

于 2009-05-26T13:27:43.337 回答
0

您可以将 SplitterWidth 属性设置为更大的值以使其更明显。

当鼠标悬停在拆分器控件上时,您还可以更改鼠标光标。类似的想法是在鼠标悬停在控件上时显示工具提示文本。

于 2009-05-26T13:36:19.933 回答
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
于 2012-04-03T23:32:12.210 回答