C# WinForm如何获取窗口最大可实际显示的宽高 比如1600*900的屏幕,最大化时窗口

C# WinForm如何获取窗口最大可实际显示的宽高 比如1600*900的屏幕,最大化时窗口,第1张

最大化的语句

thisWindowState = FormWindowStateMaximized;

然后就可以

thisWidth

thisHeight

用下面的这个语句可以得到主屏幕的宽

int wid= ScreenPrimaryScreenWorkingAreaWidth;

高:

int hei = ScreenPrimaryScreenWorkingAreaHeight;

1不添加相应的话,审核过不了

例如"As of May 1, all new iPhone apps and app

updates submitted must support the 4-inch display on iPhone 5 All apps

must include a launch image of the appropriate size Learn more about

iPhone 5 support by reviewing the iOS Human Interface Guidelines"

2只有480的话,屏幕上下自动补黑条

3原理:

由于5,5s上市时,需要兼容之前版本的App,同时要减少适配的开发成本最后就出了唯一的一个判断标准:如果有相应设备尺寸的开机图,系统就当你这个App针对新设备做过适配,否则就按照480x320来算

后来出了6,6p就沿用了同样的适配规则

用 JavaScript 准确获取手机屏幕的宽度高度

documentdocumentElementclientWidth; documentdocumentElementclientHeight;

这个得到的是设备像素可见宽高,比如iPhone 4s在微信内设置了viewport为1的时候为320416(手机480 - 微信状态栏64), iPhone 5里为320504

小部分手机获取到的宽高并不正确。比如上面说的screenwidth screenheight这些数据在有的手机上并不准确

LZ是不是做全屏布局的?我可以出个解决方案:

首先尽量使用absolute,这样全屏布局以后,元素不会因为浏览器不固定大小

而乱掉。设置width为100%,height为clientHeight,然后在计算出所有元素加一块的宽度和高度,在js里响应onresize,如果当前宽度和高度小于你元素加一块的宽度和高度,就设置为元素为元素加一块的宽度和高度,如果大于,则设置为100%和clientHeight,这样就不会因为长度和宽度而出现滚动条。当然当浏览器窗口缩小以后会出现,这个是必然的,不然隐藏的元素无法显示完全的。

delphi 里内置有 TScreen 对象,可以通过这个对象的实例来获取屏幕的相关属性,以下是示例代码:

procedure TForm1Button1Click(Sender: TObject);

begin

  ShowMessage(Format('屏幕宽度: %d  屏幕高度:%d', [ScreenWidth,ScreenHeight]));

end;

示例运行截图:

1

WindowManager windowManager = getWindowManager();

Display display = windowManagergetDefaultDisplay();

screenWidth = displaygetWidth();

screenHeight = displaygetHeight();

2

DisplayMetrics dm = new DisplayMetrics();

thisgetWindowManager()getDefaultDisplay()getMetrics(dm);//this指当前activity

screenWidth =dmwidthPixels;

screenHeight =dmheightPixels;

以上两种方法在屏幕未显示的时候,还是处于0的状态,即要在setContentView调用之后才有效。

3

还可以在onDraw中由canvas来获得

screenWidth =canvasgetWidth();

screenHeight =canvasgetHeight();

import javaawtToolkit;

Toolkit tk=ToolkitgetDefaultToolkit();

Dimension screensize=tkgetScreenSize();

宽:screensizewidth

高:screensizeheight

以上就是关于C# WinForm如何获取窗口最大可实际显示的宽高 比如1600*900的屏幕,最大化时窗口全部的内容,包括:C# WinForm如何获取窗口最大可实际显示的宽高 比如1600*900的屏幕,最大化时窗口、为什么我每次获取的屏幕高度都是480宽度都是320、怎样用 JavaScript 准确获取手机屏幕的宽度和高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9739718.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存