我在 VB.NET 中创建了一个 Winform,并添加了一个拆分器控件以允许在运行时调整面板的大小。
我的问题是拆分器控件不明显。我想让它以一种用户知道表单可以调整大小的方式出现。目前,我基本上只是改变了颜色,但我不喜欢它的外观。
谁能告诉我使用此控件的正确方法,以便用户立即了解面板可调整大小?
我正要建议边界技巧(您自己发布的)。我通常做的另一件事是为 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 会“亮起”(或者更确切地说,阴影会下降......),从而引起人们注意那里有一个可以与之交互的控件。
好的,
我想如果我将面板设置为有边框,看起来面板可以调整大小。
我没有设置边框,因此分离器不可见。
您可以将 SplitterWidth 属性设置为更大的值以使其更明显。
当鼠标悬停在拆分器控件上时,您还可以更改鼠标光标。类似的想法是在鼠标悬停在控件上时显示工具提示文本。
我喜欢派生控制,这样我就可以使所有的分离器工作相同。添加该属性使其与 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