【发布时间】:2008-08-30 10:01:31
【问题描述】:
我有一个 VB6.0 项目,我想在 VB.Net 中转换它。
在我的 VB6.0 应用程序中,一些 MDI 子表单的高度为 17000,宽度为 13000。现在我想在 VB.Net 表单中设置相同的表单大小,但它允许最大表单宽度 = 1036,高度 = 780分辨率为 1024x768。
如何在相同分辨率下增加表单大小?
我也想打印这个,我不能使用 vb.net 表单的自动滚动属性。
谢谢
【问题讨论】:
我有一个 VB6.0 项目,我想在 VB.Net 中转换它。
在我的 VB6.0 应用程序中,一些 MDI 子表单的高度为 17000,宽度为 13000。现在我想在 VB.Net 表单中设置相同的表单大小,但它允许最大表单宽度 = 1036,高度 = 780分辨率为 1024x768。
如何在相同分辨率下增加表单大小?
我也想打印这个,我不能使用 vb.net 表单的自动滚动属性。
谢谢
【问题讨论】:
您的经典 VB 单位是所谓的“缇”。您很可能能够将这些数字除以 12 或 15(取决于您使用的是大字体还是小字体),您将获得一定数量的像素。
【讨论】:
我对此进行了一些谷歌搜索,发现this..
是的,这个尺寸的表格是有限的 到桌面的大小(更多 特别是 SystemInformation.MaxWindowTrackSize)。 这是在 Form.SetBoundsCore 中完成的 受保护的虚方法。这个 行为不能改变或在 至少不需要大量的工作和 使用 PInvoke。
也支持here
设计器中表单的大小 受您的屏幕尺寸限制。
听起来你有你的显示器 在 1600x1200,因此设计师不会 让你比 1212 更大。
如果您的显示器为 1280x1024, 那么设计师不会让你走 大于 1036。
我不太确定为什么 设计器中的形式仅限于 屏幕尺寸,因为我可能会部署在 屏幕尺寸更大的机器 他们是我的开发机器...
所以看起来它无法完成.. 这是一些奇怪的行为,因为看起来你被限制在你的开发机器上..
我认为这样做的唯一方法是将大小调整为可能的最大分辨率,设置表单大小,然后恢复,但永远不要再触摸大小。
【讨论】:
你受限于设计器,但不受代码限制:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Height = 17000 'or whatever you need
Me.Width = 13000
End Sub
【讨论】:
我认为 VB6 单元与 VB.Net 单元不同。所以你必须进行转换。
【讨论】: