我正在使用Visual Studio 2019,使用“Windows窗体应用程序(.NET)”作为项目模板创建Visual Basic项目。
在我创建项目之后,并且还没有添加任何其他代码,就发生了这种情况。当我尝试在窗体上创建文本框时,Visual Studio提供了以下错误(错误1):
此外,如果我尝试将控件从[工具箱]直接拖曳到预设表单上,也会发生下列错误(错误2):
这个错误的关键部分是“无法设置控件的Win32父窗口”。我之前尝试使用Xamarin创建一些移动的应用程序(提到这一点是因为xmarin有一个有缺陷的GUI)然而,这是在重新启动机器,启动visualstudio,并使用“Windows Forms App(.NET)”作为项目模板创建一个项目。这在过去也是有效的,所以巧合的是,它是在我尝试在一个单独的项目/解决方案中使用xmarin之后开始发生的。
更新:当使用“Windows Forms App(.NET Framework)"创建项目模板时,在末尾添加了“Framework”,我能够在窗体上绘制文本框(第一个错误没有发生)。仍然不能直接拖动到窗体上。仍然得到第二个错误“对象引用未设置为对象的示例”。
不确定“Windows窗体应用程序(.NET Framework)”和“Windows窗体应用程序(.NET)”在项目模板中的区别。
任何帮助或想法请让我知道。
杰夫
3条答案
按热度按时间e7arh2l61#
正如@Jeff82和@jmcilhinney在问题评论中所指出的,这似乎是由DPI缩放和在非主监视器上使用Visual Studio中的一个或多个原因引起的。以下步骤为我解决了这个问题:
1.关闭要放置控件的窗体
1.将Visual Studio移至主监视器
1.再次打开表单
qjp7pelc2#
我偶然解决了这个问题。真的很高兴这个问题得到了解决,因为它阻止了我在Visual Studio中执行更多的任务。对于其他可能有这个问题的人来说,我使用了3个监视器。我将这些监视器配置为不同的比例和布局设置。这样做,看起来像是混淆了试图使用主显示器设置的Visual Studio。
为了解决这个问题,我在每个显示器上将“比例和布局”设置设置为相同的。
我在每个显示器上将此设置回100%,这解决了问题。
6ovsh4lw3#
对于任何像我在过去一天遇到的这样的错误,如果您要将WinForm从Framework移动到.Net 6,解决方案是添加app.manifest文件并取消注解以下代码。