【问题标题】:VB.NET form Height QuestionVB.NET窗体高度问题
【发布时间】:2008-08-30 10:01:31
【问题描述】:

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

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

如何在相同分辨率下增加表单大小?

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

谢谢

【问题讨论】:

    标签: vb.net winforms


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我对此进行了一些谷歌搜索,发现this..

      是的,这个尺寸的表格是有限的 到桌面的大小(更多 特别是 SystemInformation.MaxWindowTrackSize)。 这是在 Form.SetBoundsCore 中完成的 受保护的虚方法。这个 行为不能改变或在 至少不需要大量的工作和 使用 PInvoke。

      也支持here

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

      听起来你有你的显示器 在 1600x1200,因此设计师不会 让你比 1212 更大。

      如果您的显示器为 1280x1024, 那么设计师不会让你走 大于 1036。

      我不太确定为什么 设计器中的形式仅限于 屏幕尺寸,因为我可能会部署在 屏幕尺寸更大的机器 他们是我的开发机器...

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

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

      【讨论】:

        【解决方案3】:

        你受限于设计器,但不受代码限制:

        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 事件。根据问题,表单的初始大小将限制为屏幕大小。
        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-07
          • 2011-04-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多