gpt4 book ai didi

c# - "checked = false"的复选框(事件)方法

转载 作者:行者123 更新时间:2023-11-30 13:47:49 25 4
gpt4 key购买 nike

(Windows Form) 复选框未被选中时(但不是选中时),是否有任何方法或是否有可能编写一个方法来执行一组指令?我将提供我的示例代码来澄清这一点。

现有示例代码:

private void ChkBox_CheckedChanged(object sender, EventArgs e)
{
if (ChkBox.Checked == false)
{
MessageBox.Show("unchecked");
}
}

问: if condition 是否可以通过为此编写一个仅在未选中复选框时执行的方法来避免。

插图:像这样:

private void ChkBox_Unchecked(object sender, EventArgs e)
{
MessageBox.Show("unchecked");
}

附加评论:对于事件“checkbox is checked”,我没有任何要执行的东西。所以我只是在想我是否可以通过将 checkchanged 事件替换为未选中 事件类型。

最佳答案

如果你真的需要那些奇怪的事件,那么通过继承 CheckBox 创建自定义复选框。覆盖它的 OnCheckedChanged 事件,并添加您的 Unchecked 事件:

public class StrageCheckBox : CheckBox
{
public event EventHandler Unchecked;

protected override void OnCheckedChanged(EventArgs e)
{
base.OnCheckedChanged(e);

if (!Checked)
OnUnchecked(e);
}

protected virtual void OnUnchecked(EventArgs e)
{
if (Unchecked != null)
Unchecked(this, e);
}
}

使用 StrangeCheckBoxes 代替默认复选框。订阅 Unchecked 事件。瞧,你的行为很奇怪。

备注 其实我不建议在所有情况下都使用自定义控件或if/else。如果您有许多具有这种行为的复选框,那么自定义控件比每个处理程序中的许多重复 if/else 更好。如果您有多个控件或所有复选框的单个处理程序,那么我会采用 if/else 方法。

关于c# - "checked = false"的复选框(事件)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15200618/

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