VB.NET窗体高度问题

3

我有一个VB6.0项目,想要将其转换为VB.Net。

在我的VB6.0应用程序中,一些MDI子窗体的高度为17000,宽度为13000。现在我想在VB.Net窗体中设置相同的窗体大小,但是它允许的最大窗体宽度为1036,高度为780,适用于1024x768分辨率。

如何在相同的分辨率下增加窗体大小?

另外,我想打印这个窗体,所以我不能使用vb.net窗体的自动滚动属性。

谢谢

4个回答

5

你的经典VB单位是所谓的“twips”(翻译为“缇”)。你很可能能够将这些数字除以12或15(取决于你是否使用大号或小号字体),然后你会得到一定数量的像素。


1

在设计师中你受到限制,但在代码中你不受限制:

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

我刚刚测试了这个建议。这个建议在form_load事件中不起作用。根据问题,表单的初始大小将被限制为屏幕大小。 - jm.

1

我在Google上搜索了一下,发现this..

是的,表单的大小受限于桌面的大小(更具体地说是SystemInformation.MaxWindowTrackSize)。这是在Form.SetBoundsCore受保护的虚拟方法中完成的。这种行为无法更改或至少需要大量工作和使用PInvoke。

这里也支持。

设计师中表单的大小受屏幕大小限制。看起来你的显示器分辨率是1600x1200,因此设计师不允许你超过1212的大小。如果你的显示器分辨率是1280x1024,那么设计师就不会让你超过1036的大小。我不太确定为什么设计师中表单的大小受屏幕大小限制,因为我可能会在一个比我的开发机器更大的屏幕上部署应用程序...

所以看起来似乎做不到...这是一些奇怪的行为,因为它看起来像是你被限制在你的开发机器上...我认为唯一的方法是将大小设置为最大分辨率,设置表单大小,然后恢复原状,但永远不要再改变大小。

0

我认为VB6的单元与VB.Net的单元不同,所以你需要进行转换。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接