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#做(不)调用事件[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如果应用程序使用任务管理器关闭,c# 表单关闭事件会起作用吗?

c# 关闭窗体时formclosed事件不执行

c# 如何用代码实现按钮的单击

c#当屏幕/显示器电源关闭或打开时如何获取事件?

使用 ajax 调用 C# 事件不起作用

C#控制台程序中处理2个关闭事件的代码实例