C#做(不)调用事件[关闭]
Posted
技术标签:
【中文标题】C#做(不)调用事件[关闭]【英文标题】:C# do (not) call event [closed] 【发布时间】:2021-06-13 04:59:19 【问题描述】:我对此很陌生,我正在 C# 的 Visual Studio 中构建一个简单的应用程序,它正在绘制图形,用户可以使用复选框和单选按钮自定义它们。这些与事件相关联,当检查状态发生更改时,将调用事件并且代码完成其工作。但是即使检查状态没有改变并且所有绘制区域都重新加载多次,这些事件也会被调用,这对用户来说不是很愉快。您能否告诉我如何仅在需要时调用该事件。它是 WinForms。下面是一个例子。我想在这两种情况下都显示输出 - 如果 bool 值是 true 或 false,则输出取决于此并且结果不同。
`
private void CheckBoxCountInvalid_CheckStateChanged(object sender, EventArgs e)
if (checkBoxCountInvalid.Checked)
countInvalid = true;
else
countInvalid = false;
ShowOutput();
`
【问题讨论】:
您可能需要提供一些有问题的代码,并说明您创建的应用程序类型,例如 WebForms、MVC、Blazor... 为什么你的ShowOutput();
方法不是ShowOutput(bool state);
?然后只需传递ShowOutput(checkBoxCountInvalid.Checked);
。请注意,当您在组中选择另一个 RadioButton 时,RadioButtons(不是 CheckBoxes)会改变状态。
【参考方案1】:
一个(if else)听起来好像 if 可以很好地解决这个问题。
【讨论】:
在这种情况下,我需要一个条件来告诉我状态是否已更改,如果它被选中,这里还不够。在这两种情况下都会呈现图表,并且 bool 告诉代码是呈现所有值还是只呈现有效值。以上是关于C#做(不)调用事件[关闭]的主要内容,如果未能解决你的问题,请参考以下文章