繁体   English   中英

目标仅更新一次

[英]Target is Only Updating Once

我的主窗体有选项卡(一个TabControl),目标控件(一个TextBox)在第三个选项卡中。 在第一个选项卡上,我有几个在其中输入数据的TextBox控件。 我的代码解析输入的数据并确定最大值,并将其存储在绑定到目标TextBox的属性中。

textBox_Offset_ODR_MaxDepth.DataBindings
                           .Add("Text", kernel.Targets, Targets.MaxDepthName);

运行程序时,我在第一个选项卡上添加数据,在第三个选项卡上查看,然后查看TextBox是否已正确更新。 它正确显示最大值。 因此,我回到第一个选项卡,更改数据,然后再次查看我的第三个选项卡。 该值尚未更新。

我可以从在计算中使用source属性的其他控件中看到,source属性确实已更新,但是该更新尚未推送到目标TextBox。

当source属性更改时,如何使TextBox始终更新?

我将给出解决方法,以期希望对其他人有所帮助,但是如果有人能够识别出我的问题并告诉我我做错了那会更好。 我已经搜寻了几个小时。

我添加了一个“刷新”按钮,并为其提供了以下代码:

private void button_Offset_ODR_Refresh_Click(object sender, EventArgs e)
{
    textBox_Offset_ODR_MaxDepth.DataBindings[0].ControlUpdateMode = ControlUpdateMode.Never;
    textBox_Offset_ODR_MaxDepth.DataBindings[0].ControlUpdateMode = ControlUpdateMode.OnPropertyChanged;
}

在某些时候(出于某种奇怪的原因)我注释掉了我对INotifyPropertyChanged接口的声明。

class Targets// : INotifyPropertyChanged

我的课程实现了该接口,但顶部的声明已被注释掉。 由于某些原因,这使得目标控件只能更新一次。 当我删除评论时

class Targets : INotifyPropertyChanged

运行良好,并适当地更新了目标控件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM