【问题标题】:How can I prevent my form from vertically stretching when "live"?如何防止我的表单在“活动”时垂直拉伸?
【发布时间】:2014-05-30 18:31:55
【问题描述】:

我的表单在设计时看起来很漂亮 (YMMV):

...但是在设备上运行时会垂直“拉伸”,实际上对于屏幕来说有点太高了:

为什么会发生这种情况,我该如何防止它发生?

可能值得注意:Form 的 WindowState == Normal,FormBorderStyle = FixedDialog

【问题讨论】:

  • 我没有看到“伸展”。设备上的表单是否比您在设计器属性中设置的更高?多少像素?
  • 也许是我的眼睛欺骗了我;在我看来,我感觉到了形式的拉长;我不知道如何分辨像素差异;无论如何,我尽可能地整理了控件,现在它(几乎不)适合。
  • 在设计器中设置窗体的准确高度为显示分辨率的高度。您应该能够使用 Pain.NET 或其他任何工具来测量屏幕抓取中的像素。
  • 听起来很痛苦。
  • 出于好奇,为什么您的设计器看起来像 Windows XP 桌面 Winform 设计器?在您的项目中,您的目标是什么设备类型,您选择了什么皮肤或外形?

标签: winforms compact-framework windows-ce handheld handhelddevice


【解决方案1】:

请检查您的表单设置:AutoScaleMode 和 Size 设置。

这是您的第一个 Windows CE 应用程序吗?您必须记住,有些设备具有不同的分辨率(即 QVGA、320x320 像素等方形等),因此您应该根据屏幕尺寸调整布局。或者使您的表单最大化并将 AutoScroll 设置为启用(如果内容不适合)。

在设计表单时,您使用的是像素数。这些被转换为缇 (1/1440dpi) 并再次(在设备上)转换回像素(包括对分辨率的校正,每英寸点数 (dpi))。因此,具有 240x240 像素的表单在 96dpi 和 102dpi 显示器上将具有不同的尺寸。此缩放由 AutoScaleMode 控制。

【讨论】:

  • "将 AutoScroll 设置为启用" 嘿!观看!
  • "这是您的第一个 Windows CE 应用程序吗?"是的,希望是我的最后一次。
  • 我只需要担心一个设备,所以在尽可能紧缩所有东西(并降低 ListBox 的高度)之后,它就很合适了,所以我将把它留在那里。
猜你喜欢
  • 1970-01-01
  • 2019-03-10
  • 1970-01-01
  • 2010-11-14
  • 2013-11-07
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多