gpt4 book ai didi

c# - 处理控件自动相互更新的最佳方法?

转载 作者:行者123 更新时间:2023-11-30 14:12:39 24 4
gpt4 key购买 nike

我有一个关于以这种方式更新 .Net 中的控件的问题,如果用户更新一个字段,另一个字段将自动更新一些数据,反之亦然。我正在使用两个转换一些数据的 NumericUpDown 控件。

我遇到的问题是,我正在使用 ValueChanged 事件。因此,有时这些控件会陷入一个循环,其中一个控件更新另一个控件,而另一个控件尝试更新第一个控件。结果有些随机。

那么,处理这种情况的最佳方法是什么?简而言之,如果第一个控件是由用户自己修改的,我只想更新另一个控件。

如有任何帮助,我们将不胜感激。

最佳答案

只需在类中使用一个 bool 值守卫来检查您是否在更新方法中。在您更新时,所有 future 从 NUD 触发的事件都将被忽略。

private boolean updating = false; // Class level variable

void event_handler(...) // The function hooked up to the ValueChanged event
{
if( !updating )
{
updating = true;
// Do your calculations and update the NUDs
updating = false;
}
}

关于c# - 处理控件自动相互更新的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16821304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com