winform 自定义控件_adratator控件

winform 自定义控件_adratator控件有很多时候,开发winform,系统给的控件往往不能满足需求,所以,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

有很多时候,开发winform,系统给的控件往往不能满足需求。所以,我们需要自己的写自己的控件来使用。下面通过具体的例子来讲解,怎么通过继承控件来写出适用自己的控件。

自定义fowllowpanel控件:

在实现动态布局的时候,很多时候需要生成一个控件自动的排列在上一个控件之下,这个时候我们就可以通过继承panel容器来实现。

代码如下:

class PcFollowPanel:Panel
    {

        //控件间隔
        protected int controlSpace;

        public PcFollowPanel()
        {

        }

        public PcFollowPanel(int controlSpace)
        {

            this.controlSpace = controlSpace;
        }

        /// <summary>
        /// 计算控件中子控件宽度,不包括最后一个控件的下面的空格
        /// </summary>
        /// <returns></returns>
        public int GetChildsWidth()
        {

            int width = 0;
            foreach (Control c in this.Controls)
            {

                if (width < c.Width)
                {

                    width = c.Width;
                }
            }
            return width;
            
        }

        /// <summary>
        /// 计算控件中子控件长度,不包括最后一个控件的下面的空格
        /// </summary>
        /// <returns></returns>
        public int GetChildsLenth()
        {

            int lenth = 0;
            foreach (Control c in this.Controls)
            {

                lenth = lenth + c.Height + controlSpace;
            }
            return lenth;
        }

        /// <summary>
        /// 添加控件,自动排列
        /// </summary>
        /// <param name=”c”></param>
        public void AddControl(Control c)
        {

            c.Location = new Point(0, GetChildsLenth() + controlSpace);
            this.Controls.Add(c);
            this.Size = new Size(GetChildsWidth(), GetChildsLenth());
        }

    }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179638.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月21日 上午6:16
下一篇 2022年10月21日 上午6:16


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号