用户
 找回密码
 立即注册

22

主题

56

帖子

922

积分

高级会员

Rank: 4

积分
922
发表于 2019-5-2 23:25:11
在使用绝对布局的时候,当控件的Dock属性设置为Left,Right,Top,Buttom时候,只能确保在一个轴的方向上该控件和容器的关系,但还需要设置控件在另一个轴上的大小。
比如说,当Dock = System.Windows.Forms.DockStyle.Top 时候,必须设置控件的Height属性,才能确定控件在容器中的大小。

问题在于,当横屏和竖屏显示的时候,这个指定方向上的大小并不能正确的体现设计的需求,比如说在竖屏时合适的控件大小,到了横屏的时候就不合适了。

附图是一个 Dock=Top,Size.Height=20, Back color=Salmon 的panel控件分别在 Form.Orientataion = Portrait 和 Landscape 的设置下的显示情况,明显看出其高度是不同的。
而当Form.Orientataion = Unlock 的时候,手机横屏和竖屏时的控件的显示高度是相同的。

我最近遇到一个情况,由于竖屏显示的情况不佳,计划将显示方式固定在横屏,但是在简单的设置Form.Orientataion =  Landscape后,控件的大小完全不可用,只能重新设计横屏的UI。

想了解一下上面的情况为什么会发生,同样的Height设计在Unlock/Portrait 和 Landscape的设置下为何有如此大的不同? 另外,想请教有没有方法能够根据获取到客户端屏幕的大小,进而
在控件初始化的时候对其大小进行设置, client.ScreenSize 属性和 控件的Size之间的关系是什么?比如 client.ScreenSize = 1080x2139时, 窗体的Size的最大值是多少?

请指教
大杰米

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
使用道具 举报 回复
若ScreenSize与窗体的size比例一致的话,即窗体占满手机屏幕;比如手机屏幕18:9的比例,若窗体size设置500,500  那这样只是占了一半的屏幕
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册