【问题标题】:Published project not working on all computers?已发布的项目不能在所有计算机上运行?
【发布时间】:2012-08-06 14:35:56
【问题描述】:

我有一个有效的 vb.net 项目,它通过控制台在我的主机上成功运行。我已经发布了它,将它安装在其他计算机上,并在这些计算机上成功运行它。我已经安装了 xampp,这也是 php 在幕后运行所必需的,而且一切运行正常。

但是,今天早上,我去另一台电脑上安装它,发生了一些奇怪的事情。窗口上的一个标签,重叠成一个文本字段。这听起来有些无害,但结果是用户无法使用文本字段,因此应用程序将无法运行。

基本上我的问题是,有没有办法限制格式,使其适用于所有计算机? (我觉得这很奇怪,因为有问题的计算机是 Windows 64 位操作系统,我安装的计算机和我当前使用的计算机也是如此)

【问题讨论】:

  • DPI 设置很可能会有所不同...
  • 可以理解。我假设发布的版本能够适当地调整大小,因此不会发生重叠。有没有办法手动做到这一点?
  • 这是 WinForms、WPF 还是 ASP.NET?什么是 VBA.NET(你是指 VBA 还是 VB.NET)?
  • 它是在 Visual Basic 中设计的

标签: vb.net


【解决方案1】:

听起来是 DPI 设置导致了您的问题。您可以通过将 DPI 设置更改回 100% 来验证这一点,重新启动计算机并查看是否有任何不同。请参阅this Link,了解如何更改 DPI 设置。

我无法直接回答您如何解决您遇到的这个问题。但我会告诉你如何解决它。

有关此问题的另外两个主题,请参见下面的链接:

关于此事的更多信息:

  1. 创建一个可以在其他计算机上正确扩展的应用程序取决于您自己是否以 100% DPI 编写了该应用程序。如果没有,那么您可能会在缩小或放大应用程序大小以适应其他 DPI 设置时遇到问题。

  2. 您希望应用程序根据用户设置进行扩展。您可以使用以下代码来执行此操作:

    Public Sub New()
        InitializeComponent()
    
        Me.AutoScaleMode = AutoScaleMode.Dpi
        Me.AutoSize = True
    End Sub
    

    请记住,这将缩放当前表单,您必须对应用程序中的所有其他表单执行相同操作。有关这方面的更多信息,请参阅要点链接 2。

  3. 如果您在创建表单时使用了 Panel、TableLayoutPanel 等容器,您将有更好的时间使表单适合其他 DPI 设置。 (我从应用程序扩展的个人经验中知道这一点。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    相关资源
    最近更新 更多