حذف سطرهای DataGridView بر اساس مقدار ComboBox هر ردیف

فرض کنید یک دیتاگرید به صورت زیر دارید که هر سطر آن به صورت زیر دارای یک کمبوباکس است که می خواهید ردیف ها را بر اساس مقدار آن حذف کنید :
Datagrid

برای اینکار به صورت زیر عمل کنید :

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("آیا از حذف سطر های انتخاب شده مطمئن هستید؟",                      
                "هشدار",                                                                   
                MessageBoxButtons.YesNo,                                                   
                MessageBoxIcon.Warning,                                                   
                MessageBoxDefaultButton.Button2) == System.Windows.Forms.DialogResult.Yes)
            {                                                                             
                for (int i = this.dataGridView1.Rows.Count - 1; i >= 0; i--)              
                {                                                                         
                    if (this.dataGridView1[3, i].FormattedValue.ToString() == "حذف")      
                    {                                                                     
                        this.dataGridView1.Rows.RemoveAt(i);                              
                    }                                                                     
                }                                                                         
            }                                                                             
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            dataGridView1.ColumnCount = 3;
            dataGridView1.Columns[0].Name = "ID";
            dataGridView1.Columns[1].Name = "Name";
            dataGridView1.Columns[2].Name = "Family";

            string[] row = new string[] { "1", "Younes", "Ebrahimi" };
            dataGridView1.Rows.Add(row);
            row = new string[] { "2", "Yahya", "Ebrahimi" };
            dataGridView1.Rows.Add(row);
            row = new string[] { "3", "Siavash", "Ebrahimi" };
            dataGridView1.Rows.Add(row);
            row = new string[] { "4", "Soroush", "Ebrahimi" };
            dataGridView1.Rows.Add(row);

            DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();
            cmb.HeaderText = "Select Data";
            cmb.Name = "cmb";
            cmb.MaxDropDownItems = 4;
            cmb.Items.Add("حذف");
            cmb.Items.Add("ویرایش");
            dataGridView1.Columns.Add(cmb);
        }
    }
}