缩放 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 窗体 的相关文章

  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • 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