问题描述
我创建了一个MDI程序,然后显示一个MDI子窗体,然后一个问题。例如在1366*768分辨率下,无法创建一个300*1024尺寸的窗体。1024高于屏幕分辨率的768。窗体倒是会显示,只是下面的部分被截断了。各位达人,有什么方式可以解决么。
解决方案
解决方案二:
你自己这不是很清楚吗,尺寸比屏幕大,肯定遮住了不被遮住,就限制大小在屏幕范围内
解决方案三:
子窗子的大小要根据屏幕的大小改变而改变,这样才能显示出来。有获取屏幕大小的方法,可以搜一下。
解决方案四:
引用1楼bdmh的回复:
你自己这不是很清楚吗,尺寸比屏幕大,肯定遮住了不被遮住,就限制大小在屏幕范围内
不是被遮住,而是说被截断了。例如代码里设置mdiClient.Height=1000;最后获取其高度,并不是1000,而是768+16(后面的16会根据不同的分辨率略有不同,有时是12)
解决方案五:
引用2楼duanzi_peng的回复:
子窗子的大小要根据屏幕的大小改变而改变,这样才能显示出来。有获取屏幕大小的方法,可以搜一下。
其实http://bbs.csdn.net/topics/60054781这个帖子讲述的和我是同一个问题,最后也没有什么好点的方式。
解决方案六:
引用楼主mmcer的回复:
我创建了一个MDI程序,然后显示一个MDI子窗体,然后一个问题。例如在1366*768分辨率下,无法创建一个300*1024尺寸的窗体。1024高于屏幕分辨率的768。窗体倒是会显示,只是下面的部分被截断了。各位达人,有什么方式可以解决么。
换个思路窗体大小还是按屏幕分辨率来创建,窗体内元素使用Panel布局,Panel可以自适应分辨率产生滚动条的。
解决方案七:
屏幕内创建的窗体,应该符合实际屏幕的分辨率.
解决方案八:
引用5楼lovelj2012的回复:
Quote: 引用楼主mmcer的回复:
我创建了一个MDI程序,然后显示一个MDI子窗体,然后一个问题。例如在1366*768分辨率下,无法创建一个300*1024尺寸的窗体。1024高于屏幕分辨率的768。窗体倒是会显示,只是下面的部分被截断了。各位达人,有什么方式可以解决么。换个思路窗体大小还是按屏幕分辨率来创建,窗体内元素使用Panel布局,Panel可以自适应分辨率产生滚动条的。
处于实际的业务原因,子窗体的尺寸必须是1:1的,根据屏幕分辨率做缩放,会导致业务上的精度丢失。
解决方案九:
引用7楼mmcer的回复:
Quote: 引用5楼lovelj2012的回复:
Quote: 引用楼主mmcer的回复:
我创建了一个MDI程序,然后显示一个MDI子窗体,然后一个问题。例如在1366*768分辨率下,无法创建一个300*1024尺寸的窗体。1024高于屏幕分辨率的768。窗体倒是会显示,只是下面的部分被截断了。各位达人,有什么方式可以解决么。换个思路窗体大小还是按屏幕分辨率来创建,窗体内元素使用Panel布局,Panel可以自适应分辨率产生滚动条的。
处于实际的业务原因,子窗体的尺寸必须是1:1的,根据屏幕分辨率做缩放,会导致业务上的精度丢失。
devexpress有一个不错的控件:SplitContainerControl可以上下或者左右调整块区工作区的大小,可以尝试一下,看是否解决你的这种“窘境”。
解决方案十:
有没有解决思路?
解决方案十一:
参考:在子窗体内拖一个Panel,然后设置成你想要的尺寸(比Form稍微小一点,因为可能还要考虑窗体的边框等),Location设置成0,0,Dock设置成None,然后窗体属性设置为:AutoScaleMode=NoneAutoScroll=TrueAutoSize=TrueWindowState=Maximized引用9楼mmcer的回复:
有没有解决思路?
解决方案十二:
出滚动条呀,把窗体或容器的AutoSrcollMinSize属性值设置为你的界面需要的最小尺寸,当窗口大小小于这个尺寸的时候,就出来滚动条了。