我在VB.NET中创建了一个Winform,并添加了一个Splitter控件,允许在运行时调整面板大小。
我的问题是分离器控制不明显。我想以一种用户可能知道表格可以调整大小的方式出现。目前,我基本上只是改变了颜色,但我不喜欢它的样子。
有人能告诉我使用此控件的正确方法,以便用户立即了解面板是否可调整大小?
答案 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