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


相关推荐

  • poe交换机供电原理图_poe供电原理详解

    poe交换机供电原理图_poe供电原理详解POE指的是在现有的以太网Cat.5布线基础架构不作任何改动的情况下,在为一些基于IP的终端(如IP电话机、无线局域网接入点AP、网络摄像机等)传输数据信号的同时,还能为此类设备提供直流电的技术.就是支持以太网供电的交换机。那么,POE交换机的供电原理及工作过程是什么呢?接下来我们就跟随飞畅科技的小编一起来详细了解下吧!POE交换机供电原理标准的五类网线有四对双绞线,但是在10MBASE-T和100MBASE-T中只用到其中的两对。IEEE802.3af允许两种用法,应用空闲脚供电时,4、5脚连

    2022年9月27日
    2
  • pycharm 激活码 2021【2021.7最新】

    (pycharm 激活码 2021)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月22日
    62
  • ViewPager 详解(二)—详解四大函数

    ViewPager 详解(二)—详解四大函数前言:上篇中我们讲解了如何快速实现了一个滑动页面,但问题在于,PageAdapter必须要重写的四个函数,它们都各有什么意义,在上节的函数内部为什么要这么实现,下面我们就结合android的API说明,详细讲解一下。相关文章:1、《ViewPager详解(一)—基本入门》2、《ViewPager详解(二)—详解四大函数》3、《ViewPager详解(三)-…

    2022年7月22日
    10
  • 常用的微信编辑器

    常用的微信编辑器

    2021年10月12日
    151
  • 解决Pycharm和pip都安装TensorFlow失败的问题(Windows 10)

    解决Pycharm和pip都安装TensorFlow失败的问题(Windows 10)pip报错:Couldnotfindaversionthatsatisfiestherequirementtensorflow(fromversions:)NomatchingdistributionfoundfortensorflowPycharm报错:Erroroccuredwheninstallingpackage‘tensorflow’解决…

    2022年8月26日
    4
  • M91A安全帽识别布控球 安全帽穿戴AI视频分析功能

    M91A安全帽识别布控球 安全帽穿戴AI视频分析功能AI布控球基于前端边缘AI计算及后端云平台计算,AI布控球集成人脸识别、安全帽识别等的AI视频图像分析算法,通过计算机视觉技术对图像、人脸、场景、视频等进行深度学习,识别并标示图像、场景、视频内容,并对自定义的行为、意图进行识别并预警。AI识别能力介绍:着装检测:针对施工区域的人员是否戴安全帽。人脸检测:针对施工区域的人员是否陌生人(黑名单)。行为检测:针对施工区域内人员是否吸烟。区域检测:针对规定的区域划线后检测是否在区域内或区域外。4G高清安全帽识别布控球,是一款便携式的集4G无线、远程视

    2022年5月19日
    57

发表回复

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

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