如何根据分辨率调整控件大小?

2023-12-25

在 WinForms 应用程序中,处理调整控件大小以匹配基于屏幕分辨率以及最大化和调整窗口大小的最佳方法是什么。我有 3 列是这样设置的。每列中的标签文本框。您可以将其算作 6 列。我尝试过锚定到右侧,但问题是第 1 列中的文本框将与接下来的 2 列重叠。我也尝试过对接,但这似乎不起作用。有什么简单的方法可以做到这一点吗?


TL;DR:如果不手动编码调整大小逻辑,您就无法做到这一点。顺便说一句,您可能不应该尝试这样做。

据我所知,在传统的 WinForms 中,如果不推出您自​​己的解决方案,就没有自动的方法。Sean87 https://stackoverflow.com/users/658031/sean87 建议 https://stackoverflow.com/a/8523564/7290 the AutoScaleMode http://msdn.microsoft.com/en-us/library/system.windows.forms.containercontrol.autoscalemode.aspx属性,但虽然它是自动的,但它不支持按分辨率自动调整大小。它提供了一个基于 Windows 中的字体大小设置或 DPI 设置进行缩放的选项。当简单地更改屏幕分辨率时,这些都不会直接更改,而且老实说,大多数典型用户(甚至可能是高级用户)可能永远不会修改 DPI 或字体大小设置。

此外,从基本用户的角度来看,增加屏幕分辨率的重点是提供更多的虚拟桌面“空间”来放置应用程序窗口。确实,现在大多数显示器都是基于 LCD 的,因此具有原生分辨率 http://en.wikipedia.org/wiki/Native_resolution这使得改变这一点基本上已经成为 CRT 的过去了。但是,购买更大的新显示器的行为仍然会让典型用户增加虚拟屏幕空间,以便他们可以同时在屏幕上看到更多窗口。我认为,始终保持与屏幕分辨率相同的相对尺寸的应用程序是相当不常见的,并且违背了大多数用户的期望,甚至包括我们高级开发人员用户。

通常,您将对应用程序进行编码,以便在调整窗口大小时智能且有用地调整其内容,但通常您会听从用户的管理,因为这是他们的机器和他们的偏好(将其视为“我的房子,我的房子”)规则”原则)。这也是为什么大多数(所有?)应用程序不会更改窗口位置,除非由用户直接操作(通过拖动窗口框架等)。事实上,所有这些都可能解释了微软选择的原因not包括基于分辨率的任何自动调整大小规则。

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

如何根据分辨率调整控件大小? 的相关文章

  • 在 UserClosing 和 this.close 上触发关闭事件

    我有一个表单 上面有一个 LogOutEvent 和一个表单关闭事件 这是代码 private void btnLogOut Click object sender EventArgs e DialogResult yesNo Messag
  • 为什么 Dictionary 上的这个 Linq 查询不作为数据源工作

    我在VB中有以下内容 Dim sources From source In importSources Select New With Type source Key Source source Value Name dgridSource
  • DataGridView SortCompare 事件不会触发

    使用 VS2008 C 和 NET 3 5 我正在使用数据绑定 DataGridView 控件来显示从 Web 服务读取的表格数据 在某些情况下 有一个数字列需要排序 我尝试了几种不同的方法来使其工作 但该列最终仍然按字母顺序排序 即 1
  • Visual Studio 代码对 html 的包装太多

    我已将 Visual Studio 代码更新到最新版本 它只是改变了 html 文件的格式 当我再次格式化时 我的所有 html 文件都会发生变化 It wraps like we are coding in tablet mode lea
  • 如何隐藏 Windows 窗体中控件的大小调整手柄?

    我有一个 UserControl 想在设计时隐藏调整大小手柄 就像 TextBoxControl 一样 它只有两个手柄 左手柄和右手柄 文本框的高度是固定的 除非你说它是多行的 在这种情况下 文本框会显示所有九个大小调整手柄 您需要实现一个
  • 未定义条件编译符号

    我无法让 Visual Studio 按照我的预期运行 我创建了 2 个配置文件 一个定义了符号 FOO 另一个定义了符号 BAR 我有这个代码 static class MyClass if FOO public static strin
  • 无论表单上的焦点控件如何,如何捕获 Keys.F1?

    我使用了 KeyDown 事件和一些简单的代码 例如if e KeyCode Keys F1 捕获在表单上按下 F1 但如果表单上有一些文本框 或者表单上有一些带有 Dock Fill 的电子表格 则上面的代码将毫无用处并且不执行任何操作
  • 父窗体中的居中消息框[重复]

    这个问题在这里已经有答案了 有没有一种简单的方法可以在 net 2 0中将MessageBox居中于父窗体中 我在 C 中确实需要这个并发现中心消息框 C http bytes com topic c sharp answers 26712
  • IIS Express 停止 Web 应用程序后立即关闭正在运行的站点

    我在使用 Visual Studio 2012 的第一天 当我想停止 IDE 中的应用程序时 应用程序仍在 IIS Express 上运行 我可以浏览和使用正在运行的应用程序 但现在不能了 如果我按下停止按钮 IIS 会立即关闭应用程序 因
  • 如何扩展我的发布配置文件以部署到多个位置?

    以下是为我的开发环境生成的发布配置文件
  • 如何防止弹出表单夺走父级的焦点

    我有一个小的 windows form 当鼠标悬停在 windows Form 上的某个区域上时 我用它来显示信息 但是当它设置为可见时 它会从父窗口获取焦点 有没有办法防止这种情况 它会导致主窗体在焦点和焦点之间切换时闪烁 时间 2019
  • 从嵌入 C# 的浏览器控件获取 HTML 源代码

    我有一个嵌入在 C Windows 应用程序中的浏览器控件 我想获取渲染的 HTML 可能已被 javascript 修改 而不是原始 HTML 有什么建议么 您可以获取 HTML 并确实设置它 使用WebBrowser DocumentT
  • 关闭文件后未保存展开/折叠状态

    在 Visual Studio 中 您可以在不使用区域的情况下展开和折叠代码 例如在代码隐藏页面中您可以折叠方法等 而在 ASPX 页面中您可以折叠标签 标签等 当您的页面很长并且您希望将开发重点放在特定部分时 它非常有用 它的一个很酷的地
  • 有什么方法可以设置每个解决方案的颜色选项(VS2010)?

    有没有办法配置VS2010为不同的解决方案使用不同的配色方案 在 20 世纪 90 年代的 Macintosh 上 我可以将 wctb 资源添加到文档中 以便它们可以使用不同的配色方案打开 这样可以更轻松地找到要单击的正确窗口 并且还有助于
  • 如何引用解决方案之外的项目?

    我有一个 Visual Studio C 解决方案 其中包含一些项目 其中一个项目需要引用另一个不属于解决方案的项目 一开始我引用了dll
  • 在 Xamarin 中获取 OutOfMemoryException

    java lang OutOfMemoryError 考虑增加 JavaMaximumHeapSize Java 执行时内存不足 java exe 我的 Visualstudio Xamarin 项目出现内存不足异常 请帮助我如何解决此问题
  • C# 如何暂停程序并等待 WinForm 中的键盘输入

    我有一个 C 2008 Winform 应用程序 我正处于循环之中 我正在向用户显示一个日期 我希望他们告诉我这个日期是星期几 例如显示6 22 2010 用户需要按t 我所困惑的是如何暂停我的应用程序并等待键盘输入 我只想回复 Esc m
  • 解决方案文件的修改权限

    我有用VS2005开发的项目解决方案 它绑定到 TFS Team Foundation Server 我想将解决方案转换为 VS2008 版本 保持绑定不变 但是在转换时出现错误 错误信息 解决方案文件 C abc abc sln 无法转换
  • Visual Studio 2012 命令窗口不支持“xsd”命令吗?

    我读到可以直接在 Visual Studio 2010 中运行 xsd 命令 我的机器上有 VS 2012 当我运行时 xsd XMLFile xml I get 命令 xsd 无效 那么 VS 2012 中是否不支持 xsd 命令 还有其
  • 根据所选单选按钮启用文本框

    我有一个单选按钮列表 其中列出了不同的业务类别 最后一个选项是Other类别 当用户选择Other类别 我希望能够启用一个文本框 用户可以输入更多信息来解释Other选择 目前 我正在尝试 If rblCategory SelectedIn

随机推荐

  • 沿着 d3 中的路径拖动

    使用 d3 和 React 我绘制了一条路径 在这条路径上 我有多个圆圈 只能沿着该路径拖动 然而 我当前的实现仅 在某种程度上 在该路径上有一个圆圈时才有效 在 DragStart 上 无论位置如何 它都会在路径上移动到长度 0 并且每当
  • 仅显示 x 轴图的第一个和最后一个刻度标签

    我正在解析日志文件并创建一个绘图 我不需要 X 轴上的所有标签 我只想显示第一个和最后一个或其中的几个 并带有特定的步骤 假设每 100 个 我怎样才能做到这一点 我只能显示第一个或最后一个 但不能同时显示两者 My code import
  • PHP 的日期和时间助手(如 Java 中的 Joda-Time)[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个类似的库 开源 乔达时间 http www joda org joda time 在Ja
  • 在 CMake 中混合 C 和 C++,什么是 CMakeCCompilerId.c 以及如何丢弃它

    我有一个混合 C 和 C 的简单项目 将 C 库包装到 C 类中并使其易于在 C 项目中使用 该项目是使用 VisualStudio 构建的 我在 Linux 或 Mac 下 所以我想将其转换为 CMake 项目 VS项目内容满满的
  • 在可扩展列表中以编程方式扩展组行

    我正在使用可扩展列表视图 当单击里面的图像时 我是否可以展开组行 我知道要让图像响应点击 我必须设置其焦点 现在 一旦此图像响应单击 在我的客户适配器内 我如何以编程方式展开 折叠它所属的特定组行 谢谢 在适配器中 private OnIt
  • Windows ssh - 如何在断开连接后保持进程运行

    我想通过 SSH PHP 脚本 启动 java 进程 Minecraft 服务器 并且在断开连接时不应将其关闭 我正在使用适用于 Windows 和 64 位 Java 的 Bitvise SSH 服务器 我可以启动服务器 但如果我与 ss
  • 如何在 Firefox Mobile (Fennec) 扩展的内容脚本中使用 jQuery?

    我正在开发 Firefox Mobile Fennec 扩展 我想在内容脚本中使用 jQuery 最好的方法是什么 我正在桌面版 Firefox Mobile 4 上进行测试 覆盖 js window addEventListener lo
  • 合并两个数组而不使用额外空间

    我有 2 个已排序的数组 a1 and a2 长度l1 and l2 分别 数组a2长度末尾有空格l1 所以它可以容纳所有元素a1除了它本身的元素之外 现在我想合并a1 into a2以便a2将包含以下所有元素a1 and a2按排序顺序
  • 命令行 Jasypt 客户端加密“无法操作”

    我正在使用 Jasypt 以非明文格式将数据库密码存储在休眠配置文件中 例如代替
  • C++ 模板和 ODR 规则

    为什么以下工作在C 我想ODR规则将出现在以下代码中 typedef char int8 class Sample public template
  • 当用户创建挂载点时如何收到通知?

    首先 这是限制 必须在XP上运行 必须通知驱动器盘符分配以及将卷安装到文件夹 如果驱动器正在睡眠 则不得 唤醒 该驱动器 我真的不想轮询驱动器 我尝试过的 Google 我查看了 WMI 和 Win32 LogicalDisk 类 我可以确
  • Linux 上的 Docker - 清空已安装的卷

    我正在尝试让我的 docker 设置在我的 Linux 机器上运行 它在 OSX 上运行良好 我一生都无法将卷正确安装到 Linux 机器上 我使用的是 Elementary OS 0 4 Loki 64 位 码头工人版本 Client V
  • 如何在 OpenCV 中校正裁剪后的立体图像?

    我有一对水平对齐的立体相机 它们是使用图像的全尺寸进行校准的 我通过调用 cv2 initUn DistorifyMap 来获取每个摄像机的地图进行纠正 然后调用 cv2 remap 使用全尺寸图像时 如下所示 map1 map2 cv2
  • 如何在select2框架中使用占位符作为默认值

    获得a的选定值select2我在用着 var x select select2 data var select choice x text 问题是 如果未选择值 则会引发错误 我想知道如果未选择任何选项 是否有任何方法使其返回占位符 您必须
  • 使用 Mathnet 数字库进行 Svd 重组似乎是错误的

    我正在寻找 Mathnet Iridium 和 Mathnet Numerics 之间的非回归 这是我的代码 使用 Mathnet Numerics double symJaggedArray new double 5 symJaggedA
  • Java方法性能中使用final关键字? [复制]

    这个问题在这里已经有答案了 是否使用final在方法参数中允许编译器或运行时环境更快地工作 例如 如果您有一个变量要传递给一个您知道不会被修改并按原样使用的方法 那么声明它是否更有效final 例子 第一种方法应该比第二种方法更快 publ
  • javascript 函数返回不起作用

    我在函数中返回变量时遇到问题 以下脚本工作正常 function sessionStatus document ready function getJSON scriptRoot sessionStatus php function sta
  • k8s - livenessProbe 与 readinessProbe

    考虑一个通过 http 端点进行健康检查设置的 pod health在端口 80 上 需要近 60 秒才能真正准备好并为流量提供服务 readinessProbe httpGet path health port 80 initialDel
  • Excel VBA - 日期格式自动更改

    我试图通过在 Sheets Sheet1 Cells 17 3 Value 中的日期添加一个月来输入日期值 该值是 01 10 2011 但格式为 Oct 11 然后返回 Sheets Sheet1 Cells 17 4 Value LDa
  • 如何根据分辨率调整控件大小?

    在 WinForms 应用程序中 处理调整控件大小以匹配基于屏幕分辨率以及最大化和调整窗口大小的最佳方法是什么 我有 3 列是这样设置的 每列中的标签文本框 您可以将其算作 6 列 我尝试过锚定到右侧 但问题是第 1 列中的文本框将与接下来