You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# Windows Form:如何通过CheckBox向ListBox添加内容?

问题解决方法

你当前的代码逻辑有误:把处理逻辑写在了ListBox的SelectedIndexChanged事件中,这个事件只有在ListBox的选中项发生变化时才会触发,和CheckBox的勾选操作完全无关,所以勾选CheckBox时这段代码根本不会执行。

正确的实现步骤:

  • 给CheckBox控件(cbCSharp)绑定CheckedChanged事件,这个事件会在CheckBox的勾选状态改变时触发
  • 在事件处理方法中,根据勾选状态执行添加/移除操作,同时避免重复添加同一内容

示例代码

首先,确保CheckBox绑定了CheckedChanged事件(可以在设计器里直接双击CheckBox自动生成,或者手动绑定):

// 手动绑定事件(可放在窗体构造函数或Load事件中)
cbCSharp.CheckedChanged += cbCSharp_CheckedChanged;

然后编写事件处理方法:

private void cbCSharp_CheckedChanged(object sender, EventArgs e)
{
    // 勾选时添加内容,先检查是否已存在避免重复
    if (cbCSharp.Checked && !lbCursos.Items.Contains(cbCSharp.Text))
    {
        lbCursos.Items.Add(cbCSharp.Text);
    }
    // 可选:取消勾选时移除对应内容
    else if (!cbCSharp.Checked && lbCursos.Items.Contains(cbCSharp.Text))
    {
        lbCursos.Items.Remove(cbCSharp.Text);
    }
}

内容的提问来源于stack exchange,提问作者Guilherme Azevedo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 04:42:07