C# 最后选中的更改复选框的索引,从它们的列表中

C# 最后选中的更改复选框的索引,从它们的列表中,c#,winforms,C#,Winforms,如何从复选框列表中获取最后一个复选框的索引?如果有人问,不,我不能为这个项目使用CheckedListBox控件 我有 列表复选框=新建列表() 然后我在列表中添加了一些复选框 我想做的是获取最近选中状态更改的复选框的索引 所以。。。 此列表中的每个复选框对于CheckedChanged事件都具有相同的处理程序 然后在这个空白处,我想得到这个复选框的索引,它触发了这个事件,比如这个代码 public void checked_change(object sender, EventArgs e)

如何从复选框列表中获取最后一个复选框的索引?如果有人问,不,我不能为这个项目使用CheckedListBox控件

我有

列表复选框=新建列表()

然后我在列表中添加了一些复选框

我想做的是获取最近选中状态更改的复选框的索引

所以。。。 此列表中的每个复选框对于
CheckedChanged
事件都具有相同的处理程序

然后在这个空白处,我想得到这个复选框的索引,它触发了这个事件,比如这个代码

public void checked_change(object sender, EventArgs e)
        {
            int x = // here i want this index
            if (checkboxes[x].Checked==true)
            {

            }
        }

事件处理程序的
对象发送者
参数包含“最近更改的”
复选框

您需要将
对象
强制转换回
复选框
类型,并使用
list.IndexOf
在列表中找到它的索引

int x = checkboxes.IndexOf((CheckBox)sender);
确保只将
复选框
挂接到事件处理程序或执行安全转换