I have a DataGridView in Microsoft Visual Studio 2010, which I want that two charachter be inserted in it, "I" and "O". but firing the KeyPress the requtested text doesn't show in the Cell

what could be the problem?

```
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {              
        switch (treeView1.SelectedNode.Name)
        {
            case "PanelProperties":

                e.Control.KeyPress -= new KeyPressEventHandler(Control_KeyPress);
                e.Control.KeyPress += new KeyPressEventHandler(Control_KeyPress);
                break;
            default:
                break;
        }     
    }

    private void Control_KeyPress(object sender, KeyPressEventArgs e)
    {
        int columnIndex = dataGridView1.CurrentCell.ColumnIndex;
        switch (columnIndex)
        {
            case 5:
                if (!(e.KeyChar.Equals('i') || e.KeyChar.Equals('I')) && !(e.KeyChar.Equals('o') || e.KeyChar.Equals('O')))
                    e.Handled = true;
                else
                {
                    if (e.KeyChar.Equals('i') || e.KeyChar.Equals('I'))
                        dataGridView1.CurrentCell.Value = "In";
                    else
                        dataGridView1.CurrentCell.Value = "Out";
                }
                break;
            case 6:
            case 7:
                if (!(e.KeyChar.Equals('n') || e.KeyChar.Equals('N')) && !(e.KeyChar.Equals('y') || e.KeyChar.Equals('Y')))
                    e.Handled = true;
                else
                {
                    if (e.KeyChar.Equals('n') || e.KeyChar.Equals('N'))
                        dataGridView1.CurrentCell.Value = "No";
                    else
                        dataGridView1.CurrentCell.Value = "Yes";
                }
                break;
        }
    }    

```