【问题标题】:Winform size and location of winform on screen regardless of resolution无论分辨率如何,Winform 在屏幕上的大小和位置
【发布时间】:2015-05-07 22:41:49
【问题描述】:

我有一个 winform(c#,比如说 250px x 250px),无论屏幕分辨率如何,它都需要停留在屏幕上的一个位置,即 800x600、1920x1080 等。Winform 本身只包含一个元素 - 一个图片框,所以里面有什么没关系(无需担心字体等)。我只需要将它粘在屏幕上的一个位置,从一台显示器到另一台显示器。

有什么想法吗?提前致谢。

【问题讨论】:

  • 想评论 -1 吗?
  • 您是否希望它在应用程序启动后始终出现在同一位置?还是您希望它留在那里,这样您就无法移动窗口?
  • @azt 我知道如何在启动时通过设置像素来​​修复它的位置。但是当分辨率改变时,这必须改变......不是吗?
  • @steve 谢谢,但据我所知,您的参考不适用于手头的问题。我需要它位于图像顶部的固定位置。

标签: c# winforms user-interface screen-resolution


【解决方案1】:

你能用其中一种吗? 1)WindowsState =最大化(那你不用担心,它总是需要整个屏幕) 2) StartPosition = CenterScreen (然后它总是显示为居中),或 CenterParent 在父窗体中居中 3)位置=在这种情况下,您必须做一些数学运算才能获得屏幕尺寸,您的表单尺寸比基于该中心的尺寸,但考虑到 StartPosition 已经为您完成了它,我认为使用它没有意义。 希望有帮助

【讨论】:

  • 谢谢。我不是想把它放在中心。它必须固定在某些 x,y 坐标中的图像之上
【解决方案2】:

好的,所以为了让窗口位于屏幕大小的百分比中给定的固定位置,您需要屏幕大小(例如使用this answer),计算所需位置,并将其设置为窗口位置. 由于您需要在启动时执行此操作,因此您可以在显示窗口之前执行此操作,或者最好在 Frame.Loaded 事件处理程序中执行此操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    相关资源
    最近更新 更多