Ограничить EventHandler в определенных столбцах Datagridview - PullRequest
0 голосов
/ 25 ноября 2010

Я пытался ограничить следующее EventHandler в определенных столбцах Datagridview, но не смог этого сделать.

private void dataGridView1_EditingControlShowing(object sender,     
DataGridViewEditingControlShowingEventArgs e)
    {

 if (this.dataGridView1.CurrentCell.ColumnIndex==0) 
        {
            if (e.Control is TextBox) 
            {
                TextBox dgvEditBox  = e.Control as TextBox;
                dgvEditBox.TextChanged += new EventHandler(dgvEditBox_TextChanged);

            }

        }


    }



  private void dgvEditBox_TextChanged(object sender, EventArgs e)
    {
        //Extract the textbox control
        TextBox dgvEditBox = (TextBox)sender;
      //  TextBox dgvEditBox = new TextBox();

        //Insert the appropriate string
        if (dgvEditBox.Text.Length == 1)
        {
            if (dgvEditBox.Text == "B" || dgvEditBox.Text == "b")
            {
                dgvEditBox.Text = "Ball";
            }
        }    
    }

Приведенный выше код подсказал, что я пытаюсь поместить «Ball» текств столбец datagridview1 «0» , но он

влияет на другие столбцы, такие как , если я нажимаю «b» или «B» в столбцах 1, а также возвращает «Ball» в столбцах 1.

Что я не хочу. Можно ли ограничить его столбцами «О» только так, как указано выше?

1 Ответ

1 голос
/ 25 ноября 2010

добавить это к функции dgvEditBox_TextChanged в последней строке за пределами блока if (dgvEditBox.Text.Length == 1);

dgvEditBox.TextChanged -= new EventHandler(dgvEditBox_TextChanged);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...