vb.net - 离开和返回同一表单时,Visual Studio 数据绑定出现问题
问题描述
为了简单地做到这一点,我有两个表单,每个表单上有一个按钮可以在两个表单之间导航。然后在一个我有一个复选框和标签,当复选框被选中时,它通过在 form.load 事件中使用以下代码来显示标签:
Me.label1.DataBindings.Add("Visible", Me.checkbox1, "Checked")
问题是如果我要离开带有复选框和标签的表单并且未选中复选框,然后我回到带有复选框的表单并尝试检查它,标签不会显示任何建议或解决方案。
解决方案
从表单加载中删除该行代码
在设计器中打开您的表单,带有标签和复选框的表单
单击复选框
在 Properties 网格中展开 (PropertyBinding) 并打开 (none) 旁边的下拉菜单,单击底部的 New
- 选择一个初始值,并为设置选择一个名称。如果您希望能够保存它并在下次程序打开时恢复它,请将其设为用户范围
- 现在转到您的标签、属性,单击 (PropertyBinding) 旁边的 [...] 以查看所有可绑定属性的列表,滚动到可见并下拉选择相同的设置
- 运行程序。
边注; 当我这样做时,我认为我可能遇到了数据绑定的错误/功能(我计划进行更多研究),因为只有当绑定时 bool 开始为 true(因此控件可见)时,行为才符合预期设置。如果控件是不可见的,它永远不会正确绑定以查看属性何时变为 true - 因此作为一种解决方法(在这种情况下我们正在绑定 Visible),在表单的构造函数中替换他对 InitializeComponent() 的调用:
if (!Properties.Settings.Default.FormatWithoutConfirmation)
{
Properties.Settings.Default.FormatWithoutConfirmation = true;
InitializeComponent();
Properties.Settings.Default.FormatWithoutConfirmation = false;
}
else
InitializeComponent();
推荐阅读
- ruby-on-rails - Rails 控制器脚手架代码
- javascript - webpack构建react项目,资源文件CORS
- elasticsearch - 可以获得与特定查询匹配的记录的 size_in_bytes 吗?
- javascript - 在 Jquery 中加载动态控件
- angular - 错误 @ionic/app-scripts 是 ionic serve 正常工作所必需的
- php - 如何为路由组添加前缀以及如何在刀片视图中调用子路由
- python - 使用字典键查找平均值
- android - APK签名因格式化PC而冲突
- angularjs - 在 AngularJS 输入字段上找不到 XPath 值
- angular - 无法使用 moment-mini-ts lib