private void ButtonDelete_Click(object sender, EventArgs e)
{
var selectedCount = ListFilters.SelectedIndices.Count;
if (selectedCount == 0) return;
string tmp;
if (selectedCount == 1)
{
tmp = string.Format(Properties.Resources.ButtonDelete_ClickText1, Environment.NewLine, ListFilters.SelectedItem);
}
else
{
tmp = string.Format(Properties.Resources.ButtonDelete_ClickText3, selectedCount);
}
var rslt = MessageBox.Show(tmp, Properties.Resources.ButtonDelete_ClickText2, MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (rslt == DialogResult.Cancel) return;
var indices = ListFilters.SelectedIndices.Cast<int>().Reverse().ToArray(); // 後ろの要素から削除
var tab = (FilterTabModel)_sts.Tabs[ListTabs.SelectedItem.ToString()];
using (ControlTransaction.Update(ListFilters))
{
foreach (var idx in indices)
{
tab.RemoveFilter((PostFilterRule)ListFilters.Items[idx]);
ListFilters.Items.RemoveAt(idx);
}
}
}