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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea的快捷键设置_idea设置eclipse快捷键

    idea的快捷键设置_idea设置eclipse快捷键idea常用快捷键设置

    2022年9月20日
    1
  • Sqlserver2005日志文件太大,使其减小的方法

    Sqlserver2005日志文件太大,使其减小的方法: 运行下面的三行dbName为数据库名: backuplogdbNamewithNO_LOG backup

    2021年12月26日
    36
  • 运行react项目命令(react项目怎么启动)

    进入目录,按住shift键,在此处打开命令窗口输入:npmstart会弹出localhost:3000,的浏览器窗口打包项目:npmrunbuild

    2022年4月12日
    1.2K
  • php微信自动回复机器人,微信自动回复机器人功能怎么实现?[通俗易懂]

    php微信自动回复机器人,微信自动回复机器人功能怎么实现?[通俗易懂]原标题:微信自动回复机器人功能怎么实现?微信自动回复机器人功能怎么实现?最近有不少小伙伴都在询问这个问题。很多人在微信营销的过程中,都会有这样的问题,微信好友太多,想要都在第一时间回复,实在没有精力。下面小编就给大家分享如何使用微信自动回复机器人,大家再也不用担心回复不过来而忙的焦头烂额啦。首先通过米云微信软件,扫码将所以微信号登录,就可以将所有微信号的对话集成,全部聊天里整合了所有微信号的聊天…

    2022年10月1日
    4
  • 浅谈一下学Java和python哪个好(个人观点)「建议收藏」

    浅谈一下学Java和python哪个好(个人观点)「建议收藏」其实这是一篇容易引起撕逼的文章,java是一种覆盖范围广,可跨平台的编程语言,python也是近几年火遍全世界的语言。先说结论,java是基础,另外一个是加分项,我仅代表我个人观点,为了祖国和谐,人民安康,请各位看官尽量理性讨论。java和python哪个好?很多朋友碰到了一个很共性的问题,那就是编程语言的选择。虽然Python这两年确实很火,但如果你的学历不是硕士以上,数学能力也一般,就无脑选java,不要选择Python作为就业方向。单单只会Python这门语言的是找不到工作的!Pyth

    2022年7月9日
    24
  • mybatis+springboot+flowable6.4.0遇到的问题[通俗易懂]

    mybatis+springboot+flowable6.4.0遇到的问题[通俗易懂]整合mybatis+springboot+flowable6.4.0遇到的坑前面一大堆都是记录问题过程,爱看不看。解决办法再最后。问题:org.apache.ibatis.binding.BindingException:Invalidboundstatement(notfound)解决办法:就是兼顾flowable和mybatis的配置.完前面一大堆都是记录问题过程,爱看不看。解决…

    2022年5月11日
    38

发表回复

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

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