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


相关推荐

  • 安装 | MATLAB2020a (64位) 安装教程及安装包下载链接[通俗易懂]

    安装 | MATLAB2020a (64位) 安装教程及安装包下载链接[通俗易懂]博主github:https://github.com/MichaelBeechan博主CSDN:https://blog.csdn.net/u011344545Matlab2020a链接:链接:https://pan.baidu.com/s/1SfoNj2FC4XMfIbJluRuhUA提取码:解压密码:rjzkgzh<!!!!!!!!打赏后私信我,获取提取码!!!!!!!!!!!!!>打赏链接:https://blog.csdn.net/u011344545/artic

    2022年5月20日
  • 深信服SCSA认证复习笔记三

    深信服SCSA认证复习笔记三深信服复习笔记三基础题目:1.最大传输单元(MTU)用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。是包或者帧的最大长度,一般以字节记。如果MTU过大,则路由器会拒绝此包,并下发通知源节点2.Telnet是常用的远程控制Web服务器的方法。这个可以判断网络是不是畅通的这一种方法,ping命名不能准确表示是不是在可以上网。3.防火墙:传统防火墙(包过滤防火墙)判断信息(五元组)工作范围(网络层,传输层)4.防火墙部署模式:路由模式透明模式虚拟网线模式混合模式旁

    2022年6月20日
  • 快递查询 接口_查询快递接口

    快递查询 接口_查询快递接口•快递物流查询API接口快递查询接口是指快递查询网对外开放的应用程序接口,开发人员能够通过调用该接口与快递查询网进行交互,并基于该接口开发自己的快递查询应用程序。•应用场景① 买家物流查询:轨迹跟踪、包裹进度、预计送达时间、派送人联系方式等。② 卖家物流跟踪:是否超区、转件、多次派送、拒收③ 平台监控管理:假交易监控、匹配卖家发货与顾客确认收货时间。目前常用的快递物流查询接口供应平…

    2022年10月30日
  • jenkins 邮件_测试报告的基本内容

    jenkins 邮件_测试报告的基本内容前言前面已经实现在jenkins上展示html的测试报告,接下来只差最后一步,把报告发给你的领导,展示你的劳动成果了。安装EmailExtensionPlugin插件jenkins首页-

    2022年7月31日
  • ajax 一个完整的ajax请求

    ajax 一个完整的ajax请求varrequest;if(window.XMLHttpRequest){request=newXMLHttpRequest();//IE7+,…}else{request=newActiveXObject("Microsoft.XMLHTTP");//IE6,IE5用XHR发送请求:open(method,url,async)调用XHR对象,async表示同步还是异步,默…

    2022年10月14日
  • 龙族之路明非_龙族路鸣泽

    龙族之路明非_龙族路鸣泽该楼层疑似违规已被系统折叠隐藏此楼查看此楼第二天早上“嗯……睡得好香啊……”路明非一边伸着懒腰,一边慢慢的支撑起自己的身体准备起床,那还没睁开的睡眼还挂着一些眼屎。但是在路明非双手下压时,并没有抓到预料中的床单,而是抓到更为柔软的东西。“咦,宾馆什么时候换的床单啊?怎么这么软,好像妹子的胸器啊。”说着路明非下意识的抓了一下。“啊……”可是他身下的所谓的“床单”却发出了一阵惊呼声。路明非听到这声音…

    2022年10月8日

发表回复

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

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