如何防止值更改事件触发在.NET中的表单初始化?

前端之家收集整理的这篇文章主要介绍了如何防止值更改事件触发在.NET中的表单初始化?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
考虑一个简单的.NET表单与几个单选按钮和一个复选框。

每个单选按钮都有一个CheckedChanged处理程序设置,它根据复选框的状态执行一些操作。

我的问题是,当我初始化默认的单选按钮被检查(从设计器属性窗口)CheckedChanged事件触发该单选按钮,但复选框尚未初始化,所以我得到一个空指针异常或处理程序中使用错误的值。无论哪种方式,我不希望运行处理程序代码,除非用户在表单加载后选择一个单选按钮。

我现在通过不初始化单选按钮来解决这个问题,但是我最终需要设置默认值,最好的地方就是设计器。我还可以添加一个布尔字段,它不会被设置为true,直到窗体完全加载,如果该值为false,则不会处理该事件,但它是一个脏的黑客。

我可以做些什么来防止该处理程序运行其代码

@H_404_11@解决方法
“我也可以,但是一个布尔型字段,在表单完全加载之前并未设置为true,如果该值为false,则不会处理该事件,但这是一个脏的黑客。

这也是最简单和最好的方法

让我们说.NET提供了一种简单的方式来转换和关闭所有的事件处理程序,直到加载表单。即使只是你正在处理的那些。禁用您想要启用的功能仍然没有足够的灵活性,但是禁用了您没有启用的功能。通常表单设置发生,您希望事件触发。如果没有事件发生,表单也不会建立正确的。

原文链接:https://www.f2er.com/html/232635.html

猜你在找的HTML相关文章