SplitContainerControl重寫間隔寬度


SplitContainerControl用於界面面板控制,使用起來也非常方便,可以設置間隔條的方向,但不能設置間隔條寬度,默認的寬度略寬了些。

只能通過重寫CreateContainerInfo方法才可實現間隔條寬度。相關代碼如下:

SplitContainerControlEx類

[ToolboxItem(true)]
public class SplitContainerControlEx : SplitContainerControl
{
    private int _splitterWidth;

    public int SplitterWidth
    {
        get => _splitterWidth;
        set
        {
            _splitterWidth = value;
            OnPropertiesChanged();
            PerformLayout();
        }
    }

    protected override SplitContainerViewInfo CreateContainerInfo()
    {
        return new SplitContainerViewInfoEx(this);
    }
}

SplitContainerViewInfo類:

public class SplitContainerViewInfoEx : SplitContainerViewInfo
{
    public SplitContainerViewInfoEx(SplitContainerControl container)
        : base(container)
    {
    }

    protected override int GetSplitterSize()
    {
        return ((SplitContainerControlEx) this.Container).SplitterWidth;
    }
}

如果寬度設置得太小,不容易操作,建議至少設置為2.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM