如何在 c# checkedListbox ItemCheck 取消选择项目时实现确认消息

How to implement Confirmation Message in c# checkedListbox ItemCheck on Unselect an Item

当用户单击“否”时,checkedListBox1 项目无论如何都将被取消选中,实现这种确认的正确方法是什么?

private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
    {
            if (e.NewValue.ToString() == "Unchecked")
            {
                //Confirmation
                if (MessageBox.Show("Really Remove?","Remove", MessageBoxButtons.YesNo,             MessageBoxIcon.Question,MessageBoxDefaultButton.Button2) ==             System.Windows.Forms.DialogResult.No)
                {
                    return;
                }
}

您可以尝试以下操作:

private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            if(e.CurrentValue == CheckState.Checked)
            {
                var result = MessageBox.Show("Really Remove?", "Remove", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                if (result == System.Windows.Forms.DialogResult.No)
                {
                    e.NewValue = e.CurrentValue;
                }
            }
        }