将控件拖放到Windows Forms设计器时触发对象引用异常
解决WinForms设计器拖放控件时的空引用异常提示
兄弟,我之前也碰到过一模一样的问题!升级Win10 17134.48后,VS2015/2017社区版的WinForms设计器彻底抽风——不管拖系统控件还是自定义控件,都会弹出Object reference not set to an instance of an object.的提示框,关了虽然能正常放控件,但每次弹框真的烦死人。折腾了好一阵,总结出几个亲测有效的解决办法:
1. 重置VS的配置文件
系统更新很容易搞乱VS的配置,重置一下能解决大部分奇怪的设计器问题:
- 打开VS,点顶部菜单栏的
工具→导入和导出设置→重置所有设置,选你常用的配置(比如「常规开发设置」),跟着向导走完后重启VS。
2. 修复VS安装
Win10更新可能损坏了VS的部分组件,修复安装是最稳妥的操作:
- 打开「控制面板」→「程序和功能」,找到你的VS2015/2017,右键选
更改,然后点修复按钮,等修复完成后重启电脑再测试。
3. 禁用WinForms设计器的硬件加速
显卡驱动和VS设计器的硬件加速冲突是常见诱因,关掉它试试:
- 打开VS,点
工具→选项→Windows窗体设计器,切换到「常规」选项卡,把「启用硬件加速」的勾选去掉,确定后重启VS。
4. 更新显卡驱动
Win10更新后显卡驱动可能没同步更新,导致设计器渲染时出错:
- 打开「设备管理器」,找到「显示适配器」,右键你的显卡选
更新驱动程序,选「自动搜索更新的驱动软件」,安装完重启电脑。
5. 清理VS的缓存文件
VS的缓存堆太多也会出问题,手动清一波:
- 先把所有VS实例都关掉;
- 删除这两个路径的文件夹:
C:\Users\[你的用户名]\AppData\Local\Microsoft\VisualStudio\[你的VS版本号]\ComponentModelCacheC:\Users\[你的用户名]\AppData\Roaming\Microsoft\VisualStudio\[你的VS版本号]\(怕误删的话可以先备份)
- 重新打开VS测试。
要是以上方法都没用,还可以试试新建一个Windows用户账户,在新账户里打开VS操作,排除用户配置文件损坏的问题。
内容的提问来源于stack exchange,提问作者CristisS
相关产品推荐
相关产品推荐

