3

我有一个 VB6.0 项目,我想在 VB.Net 中转换它。

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

如何以相同的分辨率增加表单大小?

另外我想打印这个,我不能使用 vb.net 表单的自动滚动属性。

塔克斯

4

4 回答 4

5

您的经典 VB 单位是所谓的“缇”。您很可能能够将这些数字除以 12 或 15(取决于您使用的是大字体还是小字体),您将获得一定数量的像素。

于 2008-08-30T16:38:09.597 回答
1

我对此做了一些谷歌搜索,并遇到了这个..

是的,这种形式的大小仅限于桌面的大小(更具体地说是 SystemInformation.MaxWindowTrackSize)。这是在 Form.SetBoundsCore 受保护的虚拟方法中完成的。这种行为不能改变,或者至少在没有大量工作和使用 PInvoke 的情况下是不能改变的。

这里也支持

设计器中的表单大小受屏幕大小的限制。

听起来您的显示器为 1600x1200,因此设计师不会让您的显示器大于 1212。

如果你的显示器是 1280x1024,那么设计师不会让你超过 1036。

我不太确定为什么设计器中的表单大小仅限于屏幕大小,因为我可能会部署在具有更大屏幕大小的机器上,它们是我的开发机器......

所以看起来它无法完成.. 那是一些奇怪的行为,因为看起来你被限制在你的开发机器是什么......

我认为做到这一点的唯一方法是将大小设置为可能的最大分辨率,设置表单大小,然后恢复,但永远不要再触摸大小。

于 2008-08-30T16:39:56.660 回答
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
于 2008-09-30T19:05:41.003 回答
0

我认为 VB6 单元与 VB.Net 单元不同。所以你必须做一个转换。

于 2008-08-30T10:03:46.550 回答