VB与VS 2019中My.Settings数据绑定异常问题求助
解决方案:VS 2019 VB窗体应用My.Settings绑定异常问题
这种情况我在VS 2019开发VB窗体应用时也碰到过好几次,给你几个针对性的解决办法,按顺序尝试应该能搞定:
清理重建项目,刷新缓存
有时候VS生成的缓存文件会打乱设置绑定的元数据,先这么操作:- 关闭VS,找到项目文件夹,删除
bin和obj两个目录; - 重新打开项目,点击菜单栏的「生成」→「清理解决方案」,然后再点击「生成解决方案」;
- 完成后重新打开窗体设计器,看看My.Settings是否回到数据绑定选项里。
- 关闭VS,找到项目文件夹,删除
手动修正绑定配置,确保更新模式正确
- 针对旧文本框灰色不可编辑的绑定:
打开窗体的Designer.vb文件(注意是设计器自动生成的那个文件,不是你写业务代码的文件),找到对应文本框的DataBindings代码段,确保绑定语句包含System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged,比如:
这个参数的作用是让文本框内容变化时自动同步到My.Settings里,没有它的话绑定可能会变成只读状态。Me.TextBox1.DataBindings.Add(New System.Windows.Forms.Binding("Text", My.Settings, "Matl2_Name", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) - 针对新窗体拖放生成的无效绑定:
在文本框的属性窗口里,找到DataBindings→Text,点击下拉箭头选择「高级」,在弹出的对话框中:- 数据源选择
My.Settings; - 选择对应的设置项;
- 把「更新模式」改成
OnPropertyChanged;
这样设置后,文本框的内容就能正常保存到My.Settings里了。
- 数据源选择
- 针对旧文本框灰色不可编辑的绑定:
检查设置项的范围属性
打开项目的「My Project」→「Settings」页面,确认你新增的设置项的「范围」是User——如果设置成Application的话,这个设置是只读的,无法保存修改,这也是绑定无法保存的常见原因。修改后保存设置文件,重启项目再试。重置VS用户数据,修复组件异常
如果上面的方法都没用,可能是VS的UI组件缓存出了问题:- 关闭所有VS窗口;
- 以管理员身份打开命令提示符,运行命令:
devenv.exe /resetuserdata; - 等待命令执行完成后,重新打开VS和项目,再尝试绑定操作。
内容的提问来源于stack exchange,提问作者GregValiant
相关产品推荐
相关产品推荐

