Visual Basic 出现多个奇怪错误 - 无法设置控件的 Win32 父窗口
Posted
技术标签:
【中文标题】Visual Basic 出现多个奇怪错误 - 无法设置控件的 Win32 父窗口【英文标题】:Multiple Strange errors with Visual Basic - Failed to set Win32 parent window of the Control 【发布时间】:2020-12-17 01:02:37 【问题描述】:我正在使用 Visual Studio 2019,使用“Windows Forms App (.NET)”作为项目模板创建一个 Visual basic 项目。
这发生在我创建项目并且没有添加任何其他代码之后。当我尝试在表单上创建文本框时,Visual Studio 提供以下错误(错误 1):
此外,如果我尝试将控件从工具箱直接拖到默认窗体上,则会出现以下错误(错误 2):
据我所知,此错误的关键部分是“无法设置控件的 Win32 父窗口”。我之前曾尝试使用 Xamarin 创建一些移动应用程序(之所以提到这一点,是因为 xmarin 有一个错误的 GUI)但是,这是在重新启动机器、启动 Visual Studio 并使用“Windows Forms App (.NET)”创建项目后发生的作为项目模板。这在过去是有效的,所以在我尝试在单独的项目/解决方案中使用 xmarin 之后它开始发生是巧合。
====
更新: 当使用“Windows Forms App (.NET Framework)”创建项目模板时,最后添加了“框架”,我可以在表单上绘制文本框(第一个错误没有发生)。仍然无法直接拖到表单上。仍然收到第二个错误“对象引用未设置为对象的实例”。
不确定“Windows Forms App (.NET Framework)”和“Windows Forms App (.NET)”在项目模板中有何区别。
====
任何帮助或想法请告诉我。
杰夫
【问题讨论】:
.NET Framework 选项将面向 .NET Framework 4.8 或更早版本。 .NET 选项将针对 .NET 5.0,它是 .NET Core 的最新版本。 WinForms 支持必须在 .NET Core 中从头开始编写,因此它还没有完全实现,尽管它非常接近完成。不过还是有一些问题。我建议你尝试一个新项目,看看是否会发生同样的事情。如果是这样,您应该修复 VS,因为它看起来好像某些东西可能已损坏。 感谢您提供的信息,我将使用以前的版本,因为我正在制作的应用程序非常基础。因此,如果我将应用程序移动到主监视器(在笔记本电脑上,当前使用 3 个监视器),似乎。然后一切正常,一切顺利。似乎它可能与窗口缩放有关。我尝试以 100% 的窗口缩放比例重新启动,但出现了其他问题(例如无法调整表单大小)。 我自己通过 Surface Dock 将 Surface Pro 连接到两台 2K 显示器,我确实看到了一些视觉缩放问题,但我从未遇到过这样的异常。 话虽如此,我可能会尝试修复。 我刚开始看到与您的第一个屏幕截图相同的错误消息。那么可能是 .NET Core 设计器中的一个错误。我建议向 Microsoft 报告。 【参考方案1】:正如@Jeff82 和@jmcilhinney 在问题 cmets 中指出的那样,这似乎是由 DPI 缩放和在非主监视器上使用 Visual Studio 之一或组合引起的。这些步骤为我解决了这个问题:
-
关闭您试图放置控件的窗体
将 Visual Studio 移至主监视器
再次打开表单
【讨论】:
【参考方案2】:我偶然解决了这个问题。真的很高兴这个问题得到了解决,因为它阻止了我在 Visual Studio 中执行更多任务。对于可能遇到此问题的其他任何人,我正在使用 3 台显示器。我将这些显示器配置为不同的比例和布局设置。这样做时,似乎让试图使用主显示器设置的 Visual Studio 感到困惑。
为解决此问题,我将每台显示器上的“缩放和布局”设置设为相同。
我在解决问题的每台显示器上将其设置为 100%。
-杰夫
【讨论】:
以上是关于Visual Basic 出现多个奇怪错误 - 无法设置控件的 Win32 父窗口的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Visual Basic 2010 中编译,出现错误
Visual basic System.Data.OleDb.OleDbException:“没有为一个或多个必需参数提供值。”
Visual Basic SaveDialog 缺少 dll