private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 0) { Keys k = Forms.Settings.GetHotkey.GetKey(); dataGridView1[0, e.RowIndex].Value = k.ToString(); } if (e.ColumnIndex == 2) { var ch1 = dataGridView1[e.ColumnIndex, e.RowIndex]; if (ch1.Value == null) { ch1.Value = false; } switch (ch1.Value.ToString()) { case "True": ch1.Value = false; break; case "False": ch1.Value = true; break; } KeysConverter kc = new KeysConverter(); string keyString = (string)dataGridView1[0, e.RowIndex].Value; if (keyString != null) { object o = kc.ConvertFromString(keyString); Keys keyCode = (Keys)o; if (Convert.ToBoolean(ch1.Value) == true) { KeyboardHook.AddKeyDown(keyCode, () => PreformScript(e.RowIndex)); } else { KeyboardHook.RemoveDown(keyCode); } } } }