缩放 Windows 窗体

2024-03-17

基本上,我希望在通过拖动调整 WindowsForm 大小时,所有内容(控件等)都能随 WindowsForm 一起缩放,以便用户可以自己确定 UI 的大小。 图片并不完美,但我希望它能解释这一点:

最简单的方法是使用 (Flow/Table)LayoutPanel 和适当的 Anchor/Drop 属性,但我觉得这限制了我的设计,目前如下所示:

我的想法是在调用 Resize() 时缩放所有组件:

foreach(Control c in Controls){
            c.Scale(scaleFactor);
        }

我的问题是:位置设置不正确,确定“scaleFactor”所需的舍入导致不一致。

有没有一种干净的方法来完成这一切?我是否必须使用 LayoutPanels 才能获得干净的方式?


您确定也要缩放这些文本框和标签吗?例如,文本框具有相当标准的高度。如果窗口太小而文本对于按钮/文本框等来说太大,您会期望什么?

可调整大小的窗口的内容的典型调整大小逻辑有点不同。我宁愿为组框创建一个无边框面板并堆叠/停靠所有内容,如下所示:

如果我调整此窗口的大小,它将如下所示:

顺便说一句,我不喜欢按钮像这样调整大小。我只会使用Anchor = Left, Right对他们来说,这样他们就能保持身高。并且不要忘记设置适当的MinimumSize对于表格。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

缩放 Windows 窗体 的相关文章

  • 在 VS2017 下使用 Conan 和 CMake 项目进行依赖管理

    我正在尝试使用 CMake 与 VS2017 集成为 C 设置一个开发环境 以便在 Linux x64 下进行编译 为了更好地管理依赖关系 我选择使用 Conan 但我对这个软件还很陌生 我想知道让 VS2017 识别项目依赖关系的最佳方法
  • 如何使用 zlib 制作 .zip 文件

    我正在阅读zlib的文档 它相当详细 但我读到了这一行 输出数据将位于zlib格式 与 gzip 或zip formats http www zlib net zlib how html http www zlib net zlib how
  • C 程序从连接到系统的 USB 设备读取数据

    我正在尝试从连接到系统 USB 端口的 USB 设备 例如随身碟 获取数据 在这里 我可以打开设备文件并读取一些随机原始数据 但我想获取像 minicom teraterm 这样的数据 请让我知道我可以使用哪些方法和库来成功完成此操作以及如
  • ASP.NET Core 与现有的 IoC 容器和环境?

    我想运行ASP NET 核心网络堆栈以及MVC在已托管现有应用程序的 Windows 服务环境中 以便为其提供前端 该应用程序使用 Autofac 来处理 DI 问题 这很好 因为它已经有一个扩展Microsoft Extensions D
  • 为什么Apache MPM prefork.c 使用互斥体来保护accept()?

    我坐下来读书Apache 的 MPM prefork c http code metager de source xref apache httpd server mpm prefork prefork c这段代码使用了一个名为accept
  • CultureInfo 的实例(来自相同的文化)根据操作系统而变化

    我有一个网站 上面写着这样的日期 CultureInfo cultureInfo CultureInfo GetCultures CultureTypes AllCultures FirstOrDefault c gt string Equ
  • 在 C# Winforms 应用程序中嵌入 Windows XP 主题

    我有一个旧版 C Windows 窗体应用程序 其布局是根据 Windows XP 默认主题设计的 由于需要将其作为 Citrix 应用程序进行分发 该应用程序现在看起来像经典主题应用程序 因为 Citrix 不鼓励使用主题系统服务 所以
  • 选择列表逻辑应位于 ASP.NET MVC、视图、模型或控制器中的什么位置?

    我觉得我的问题与这个问题很接近 但我想对这样的代码应该放在哪里进行更一般的讨论 Asp Net MVC SelectList 重构问题 https stackoverflow com questions 2149855 asp net mv
  • mprotect 之后 malloc 导致分段错误

    在使用 mprotect 保护内存区域后第一次调用 malloc 时 我遇到分段错误 这是执行内存分配和保护的代码片段 define PAGESIZE 4096 void paalloc int size Allocates and ali
  • 2D morton 码编码/解码 64 位

    如何将给定 x y 的莫顿代码 z 顺序 编码 解码为 32 位无符号整数 生成 64 位莫顿代码 反之亦然 我确实有 xy2d 和 d2xy 但仅适用于 16 位宽的坐标 产生 32 位莫顿数 在网上查了很多 但没有找到 请帮忙 如果您可
  • C++ 错误 - “成员初始值设定项表达式列表被视为复合表达式”

    我收到一个我不熟悉的 C 编译器错误 可能是一个非常愚蠢的错误 但我不能完全指出它 Error test cpp 27 error member initializer expression list treated as compound
  • 分配器感知容器和propagate_on_container_swap

    The std allocator traits模板定义了一些常量 例如propagate on container copy move assign让其他容器知道它们是否应该在复制或移动操作期间复制第二个容器的分配器 我们还有propag
  • C++11 动态线程池

    最近 我一直在尝试寻找一个用于线程并发任务的库 理想情况下 是一个在线程上调用函数的简单接口 任何时候都有 n 个线程 有些线程比其他线程完成得更快 并且到达的时间不同 首先我尝试了 Rx 它在 C 中非常棒 我还研究了 Blocks 和
  • C# 中的常量和只读? [复制]

    这个问题在这里已经有答案了 可能的重复 const 和 readonly 之间有什么区别 https stackoverflow com questions 55984 what is the difference between cons
  • asp.net网格分页的SQL查询

    我在用iBatis and SQLServer 使用偏移量和限制进行分页查询的最佳方法是什么 也许我添加该列ROW NUMBER OVER ORDER BY Id AS RowNum 但这只会阻止简单查询的数据访问 在某些情况下 我使用选择
  • 0-1背包算法

    以下 0 1 背包问题是否可解 浮动 正值和 浮动 权重 可以是正数或负数 背包的 浮动 容量 gt 0 我平均有 这是一个相对简单的二进制程序 我建议用蛮力进行修剪 如果任何时候你超过了允许的重量 你不需要尝试其他物品的组合 你可以丢弃整
  • 使用 iTextSharp 5.3.3 和 USB 令牌签署 PDF

    我是 iTextSharp 和 StackOverFlow 的新手 我正在尝试使用外部 USB 令牌在 C 中签署 PDF 我尝试使用从互联网上挖掘的以下代码 Org BouncyCastle X509 X509CertificatePar
  • 在 C++17 中使用 成员的链接错误

    我在 Ubuntu 16 04 上使用 gcc 7 2 并且需要使用 C 17 中的新文件系统库 尽管确实有一个名为experimental filesystem的库 但我无法使用它的任何成员 例如 当我尝试编译此文件时 include
  • C语言声明数组没有初始大小

    编写一个程序来操纵温度详细信息 如下所示 输入要计算的天数 主功能 输入摄氏度温度 输入功能 将温度从摄氏度转换为华氏度 独立功能 查找华氏度的平均温度 我怎样才能在没有数组初始大小的情况下制作这个程序 include
  • 以 UTF8 而不是 UTF16 输出 DataTable XML

    我有一个 DataTable 我正在使用 WriteXML 创建一个 XML 文件 尽管我在以 UTF 16 编码导出它时遇到问题 并且似乎没有明显的方法来更改它 我了解 NET 在字符串内部使用 UTF 16 这是正确的吗 然后 我通过

随机推荐

  • python中连接变量名

    我有一组表名 1 EOM 2 STMT 3 LOOKUP etc 我想将这些表名称与一些变量名称相关联 例如 1 start time 2 end time 3 total time etc 我想写这些变量名的方式是这样的 1 start
  • 尽管启用了实验性 JS,ECMAScript 6 仍无法工作

    我有最新的 Chrome 版本 45 以及版本 47 的 Chrome Canary 两者都启用了实验性 JavaScript 标志 我想使用 ECMAScript 6 但它不起作用 我不知道为什么 是否还有任何技巧或其他标志也必须启用 E
  • 关闭呈现的视图控制器后推送视图控制器

    我有这个导航堆栈 RootVC gt VC1 gt 呈现 gt ModalVC 我有VC2 不在导航堆栈中 演示时ModalVC 我想单击 ModalVC 中的按钮来关闭 ModalVC 然后推送VC2之后进入导航堆栈VC1一键点击 它应该
  • 如何在 PHP 中将 PDF 文档转换为预览图像? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 将 PDF 文档的一部分渲染为图像文件需要哪些库 扩展等 我发现的大多数 PHP PDF 库都以创建
  • 了解右值引用

    我认为我对右值引用不太理解 为什么以下无法编译 VS2012 并出现错误 foo cannot convert parameter 1 from int to int void foo int void bar int x foo x 我会
  • Google Datastore查询NodeJS应用程序如何获取实体的ID

    我有一个使用 Google Datastore 的 NodeJS 应用程序 我设置了一个基本查询 它可以从数据库返回数据 问题 如何检索返回的每个实体的 ID 我需要结果集中的 ID 以便可以在 UI 上向用户显示它 这是到目前为止的 No
  • iOS Appstore应用程序覆盖企业应用程序

    我公司拥有Appstore和企业发行许可证 我们将通过企业许可证使用当前的测试版进行演示 一些用户将下载企业应用程序来测试测试版本 应用商店发布后 我们希望应用商店应用程序覆盖演示期间下载的企业测试版 这样 下载测试版应用程序的人就可以切换
  • Apache Flink 环境中的 AWS SDK 冲突

    我正在尝试将我的作业部署到 Flink 环境 但总是收到错误 java lang NoSuchMethodError com amazonaws AmazonWebServiceRequest putCustomQueryParameter
  • Cocoa Autolayout:内容拥抱与内容压缩阻力优先级

    我在有关 Cocoa Autolayout 的 Apple 文档中找不到有关内容拥抱和压缩阻力之间差异的明确答案 有人可以解释一下它们的用法和区别吗 概念的快速总结 拥抱 gt 内容不想增长 抗压 gt 内容不想收缩 Example 假设你
  • ImportError:没有名为 sklearn.cross_validation 的模块

    我在 Ubuntu 14 04 中使用 python 2 7 我使用以下命令安装了 scikit learn numpy 和 matplotlib sudo apt get install build essential python de
  • 如何使用 FormData 将文件发送到 Nodejs 并让 Node 发回确认消息?

    您好 我正在处理这个简单的表单 尝试使用以下命令将文件发送到我的 Nodejs 服务器FormData 但由于某种原因 节点从未收到它 另外 我怎样才能让节点在页面上发回一条确认消息 说明已收到文件 我做错了什么或错过了什么 请帮忙 先感谢
  • 如何检查当前页面是否是WordPress中的插件管理面板

    我想知道如何检查我当前是否位于插件的管理页面 我创建了一个带有菜单项的插件 该菜单项显示一个包含该插件使用的一些统计信息的页面 为此 我使用自定义 JQuery 插件和一些 CSS 我永远不会在该页面之外使用它们 所以我想知道如何检查这个
  • 使用扩展 DefaultBatchConfiguration 的编程方式时未创建 Spring Batch 5 和 Spring Boot 3 元数据表

    当使用编程方式扩展时DefaultBatchConfiguration 即使属性spring batch jdbc initialize schema被设定为always 有没有办法在扩展时启用自动模式初始化DefaultBatchConf
  • 重新打开时 CSV 中的前导零[重复]

    这个问题在这里已经有答案了 我有 txt 文件 如下所示 我正在使用显示的方法在excel中导入txt文件here http www upenn edu computing da bo webi qna iv csvLeadingZeros
  • 我们可以在基本 Clear Case 项目的配置规范中省略元素 * /main/LATEST 吗?

    在我拥有的一个基本的透明案例项目中 交给我的配置规范如下所示 element CHECKEDOUT element PROJ 1 5 0 LATEST element main LATEST mkbranch PROJ 1 5 0 elem
  • 如何在Mule中创建独占队列消费者?

    在 ActiveMQ 中 您可以为队列配置独占消费者 例如 Queue Name Here consumer exclusive true 如何在 Mule 中配置像上面这样的独占消费者 您需要对队列名称进行 URL 编码 因为 Mule
  • 在 Go 中添加迄今为止的天数

    我正在尝试向 Go 中的现有日期添加天数 实际上是几周 我努力了myDate Add time Hour 24 7 weeksToAdd 但是当我尝试构建时出现错误 invalid operation time Hour startAdd
  • Spring Boot在启动时使用构造函数参数初始化bean

    我需要初始化以下内容PointQuadTree使用带有构造函数参数的 Spring Boot 在启动时使用类 并使该对象在整个应用程序中可用 构造函数参数 minX maxX 需要来自 application properties 文件 点
  • Symfony2 表单:创建新表单或选择现有表单

    我有一个实体 A 它将 oneToMany 与实体 B 相关联 我希望用户可以选择从现有 B 实体中进行选择 或者在 A 类型的表单上创建一个新实体 到目前为止 我的表单上有以下内容 gt add ExistingB entity arra
  • 缩放 Windows 窗体

    基本上 我希望在通过拖动调整 WindowsForm 大小时 所有内容 控件等 都能随 WindowsForm 一起缩放 以便用户可以自己确定 UI 的大小 图片并不完美 但我希望它能解释这一点 最简单的方法是使用 Flow Table L