如何在 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;
}
}
}
当用户单击“否”时,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;
}
}
}