iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#中Winform如何实现控件自适应父容器大小
  • 600
分享到

C#中Winform如何实现控件自适应父容器大小

2023-06-14 08:06:30 600人浏览 泡泡鱼
摘要

小编给大家分享一下C#中winform如何实现控件自适应父容器大小,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在日常开发中经常遇到控件不能随着父容器大小的改变而且自动改变控件的所在位置和大小。以下是实现的代码 

小编给大家分享一下C#winform如何实现控件自适应父容器大小,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

在日常开发中经常遇到控件不能随着父容器大小的改变而且自动改变控件的所在位置和大小。以下是实现的代码

 /// <summary>  /// 根据父容器实现控件自适应大小位置  /// </summary>  /// <param name="control">所需自适应大小位置的控件</param>  private void ChangeLocationSizeByParent (Control control)  {    //记录父容器大小,来判断改变控件大小位置是因为父容器的改变还是通过设置控件大小位置去改变    Size parentOldSize = control.Parent.Size;    PointF locationPF = new PointF();    locationPF.X = (float)control.Location.X / (float)control.Parent.Width;    locationPF.Y = (float)control.Location.Y / (float)control.Parent.Height;        PointF sizePF = new PointF();    sizePF.X = (float)control.Width / (float)control.Parent.Width;    sizePF.Y = (float)control.Height / (float)control.Parent.Height;    control.LocationChanged += delegate (Object o, EventArgs e) {      if (control.Parent != null&&parentOldSize.Equals(control.Parent.Size))      {        locationPF.X = (float)control.Location.X / (float)control.Parent.Width;        locationPF.Y = (float)control.Location.Y / (float)control.Parent.Height;              }    };    control.SizeChanged += delegate (Object o, EventArgs e) {      if (control.Parent != null && parentOldSize.Equals(control.Parent.Size))      {        sizePF.X = (float)control.Width / (float)control.Parent.Width;        sizePF.Y = (float)control.Height / (float)control.Parent.Height;              }    };    control.ParentChanged += delegate (Object o, EventArgs e) {      if (control.Parent == null)      {        return;      }      locationPF.X = (float)control.Location.X / (float)control.Parent.Width;      locationPF.Y = (float)control.Location.Y / (float)control.Parent.Height;      sizePF.X = (float)control.Width / (float)control.Parent.Width;      sizePF.Y = (float)control.Height / (float)control.Parent.Height;    };    control.Parent.SizeChanged += delegate (Object po, EventArgs pe) {      Control pControl = (Control)po;      int x = (int)(pControl.Width * locationPF.X);      int y = (int)(pControl.Height * locationPF.Y);      control.Location = new Point(x, y);      int width = (int)(pControl.Width * sizePF.X);      int hetght = (int)(pControl.Height * sizePF.Y);      control.Size = new Size(width, hetght);      control.Refresh();      parentOldSize = pControl.Size;    };  }

看完了这篇文章,相信你对“C#中WinfORM如何实现控件自适应父容器大小”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: C#中Winform如何实现控件自适应父容器大小

本文链接: https://www.lsjlt.com/news/269018.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#中Winform如何实现控件自适应父容器大小
    小编给大家分享一下C#中Winform如何实现控件自适应父容器大小,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在日常开发中经常遇到控件不能随着父容器大小的改变而且自动改变控件的所在位置和大小。以下是实现的代码 ...
    99+
    2023-06-14
  • C# Winform 实现控件自适应父容器大小的示例代码
    在日常开发中经常遇到控件不能随着父容器大小的改变而且自动改变控件的所在位置和大小。以下是实现的代码 /// <summary> /// 根据父容器实现控件自适应...
    99+
    2024-04-02
  • winform控件随窗口自适应怎么实现
    在WinForm中,实现控件随窗口自适应有多种方法,下面列举两种常用的方法:方法一:使用Anchor属性1. 在设计器中选中要自适应...
    99+
    2023-10-10
    winform
  • CSS如何将img图片填满父容器div并自适应容器大小
    这篇文章给大家分享的是有关CSS如何将img图片填满父容器div并自适应容器大小的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。当一个页面中引入多张图片时候,会碰到图片尺寸不一致,单要求显示成一致的大小,我们直接设...
    99+
    2023-06-08
  • winform控件自动调整大小怎么实现
    在WinForm中,可以通过设置控件的Anchor和Dock属性来实现自动调整大小。1. Anchor属性:Anchor属性决定了控...
    99+
    2023-09-13
    winform
  • CSS怎么将img图片填满父容器div自适应容器大小
    这篇文章将为大家详细讲解有关CSS怎么将img图片填满父容器div自适应容器大小,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。当一个页面中引入多张图片时候,会碰到图片尺寸不一致,单要求显示成一致的大小,我...
    99+
    2023-06-08
  • CSS如何实现屏幕大小自适应
    这篇“CSS如何实现屏幕大小自适应”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“CSS如何实现屏幕大小自适应”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入...
    99+
    2023-06-08
  • winform如何实现控件自由拖动
    在WinForm中,可以通过以下步骤实现控件自由拖动:1. 在控件上按下鼠标左键时,记录鼠标相对于控件左上角的位置。```cshar...
    99+
    2023-09-13
    winform
  • c#中label控件导入图片怎么适应大小
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-14
  • css如何实现图片自适应容器
    小编给大家分享一下css如何实现图片自适应容器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、img标签的方式我们马上就能想到,把width、height 设置...
    99+
    2023-06-08
  • css如何实现手机自适应网页的大小
    小编给大家分享一下css如何实现手机自适应网页的大小,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!   工作需要,要做一个手机自适应的网页效果,终于搞定,先分享并记录!   其实主要就...
    99+
    2024-04-02
  • 如何通过CSS实现响应式图像的自适应大小
    在现代的Web设计中,响应式设计已经成为了必不可少的一部分。在不同的设备和屏幕尺寸上能够自动调整和适应的网页布局和元素显得尤为重要。而在响应式设计中,图像的自适应大小同样是一个重要的考虑因素。本文将介绍如何通过CSS来实现图像的自适应大小,...
    99+
    2023-10-21
    自适应大小 CSS响应式图像
  • CSS如何实现宽高等比自适应容器
    小编给大家分享一下CSS如何实现宽高等比自适应容器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在最近开发移动端页面,遇到这么一个情况:当页面宽度 100% 时,...
    99+
    2023-06-08
  • C#如何实现Winform小数字键盘模拟器
    这篇文章主要介绍C#如何实现Winform小数字键盘模拟器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!文章开始之前,先看一下效果图,看是不是您正所需要的:一、构建计算器的界面要构建出一个好看点的计算器界面,还是需要...
    99+
    2023-06-25
  • 如何实现左右两列自适应中间列内容即随中间内容高度自适应的布局
    本篇内容主要讲解“如何实现左右两列自适应中间列内容即随中间内容高度自适应的布局”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何实现左右两列自适应中间列内容即随...
    99+
    2024-04-02
  • 微信小程序如何实现图片自适应
    这篇文章主要介绍了微信小程序如何实现图片自适应,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先我们来看看图片组件给的一些说明:属性名类型默...
    99+
    2024-04-02
  • CSS如何实现div宽度根据内容自适应
    小编给大家分享一下CSS如何实现div宽度根据内容自适应 ,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在实际应用中,可能有这样的需求,那就是需要div根据内容进...
    99+
    2023-06-09
  • .NET自定义控件应该如何实现
    本篇内容介绍了“.NET自定义控件应该如何实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!.NET自定义控件有很多人其实不太适应去试用,一...
    99+
    2023-06-17
  • vue中响应式布局如何将字体大小改成自适应
    目录响应式布局将字体大小改成自适应vue文字大小自适应问题响应式布局将字体大小改成自适应 1.在app.vue的生命周期函数中添加一段代码来设置页面的rem mounted: fu...
    99+
    2024-04-02
  • C#wpfCanvas中实现控件拖动调整大小的示例
    目录前言一、功能说明二、如何实现?1.继承Adorner2.使用Thumb3.实现拖动逻辑三、完整代码四、使用示例总结前言 我们做图片编辑工具、视频编辑工具、或者画板有时需要实现控件...
    99+
    2022-11-13
    C# wpf Canvas拖动 C# wpf Canvas
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作