【问题标题】:.NET splitter control display.NET 拆分器控制显示
【发布时间】:2009-05-26 13:23:28
【问题描述】:

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

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

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

【问题讨论】:

    标签: .net vb.net winforms splitter


    【解决方案1】:

    我正要建议边框技巧(您自己发布的)。我通常做的另一件事是为 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 会“点亮”(或者更确切地说是阴影...),提醒您注意那里有一个可以与之交互的控件。

    【讨论】:

    • 感谢您的提示。我已将此添加到我的代码中,从我的角度来看,它确实提高了可用性。
    【解决方案2】:

    好的,

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        我喜欢派生控件,因此我可以使所有拆分器工作相同。添加该属性使其在 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
        

        【讨论】:

          猜你喜欢
          • 2015-06-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-17
          • 2016-01-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多