微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 处理控件自动更新的最佳方法是什么?

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

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

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

任何帮助将不胜感激.

解决方法

只需在类中使用布尔保护来检查您是否在更新方法中.
在更新时,将忽略从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;
    }        
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐