码迷,mamicode.com
首页 > 其他好文 > 详细

SplitContainerControl重写间隔宽度

时间:2020-06-21 23:41:12      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:cte   containe   不容易   har   间隔   通过   this   lex   mamicode   

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.

技术图片

SplitContainerControl重写间隔宽度

标签:cte   containe   不容易   har   间隔   通过   this   lex   mamicode   

原文地址:https://www.cnblogs.com/liweis/p/13174382.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!