none
MaskedTextBox no Datagridview, problemas com foco. RRS feed

  • Pergunta

  •  

    Srs. Bom dia.

     

    Inseri um MaskedTextbox em um datagridview, porém, gostaria de saber se existe uma forma de quando o usuário editar a célula onde está o maskedTextbox o foco seja direcionado para o maskedTextbox.

     

    Quando o usuario posiciona na célula onde está o maskedtextbox ao clicar F2 ou começar a digitar o texto, o foco não esta direcionando para o maskedtextbox e isto é uma situação incomodo para o usuario..

     

    Vejam o código...

     

    Code Block

    private void frmteste_Load(object sender, EventArgs e)

    {

         // Cria a coluna no dataGridview   

    this.dataGridView1.Columns.Add("DtVencto", "Vencimento");

    this.dataGridView1.Columns["DtVencto"].DataPropertyName = "DTVENCIMENTO";

     

    // cria o controle e adiciona ao DatagridView.

    this.maskedTextBox = new MaskedTextBox();

    this.maskedTextBox.Visible = false;

    this.dataGridView1.Controls.Add(this.maskedTextBox);

     

    // Adiciona o envento que controla a edição da célula..

    this.dataGridView1.CellBeginEdit += new DataGridViewCellCancelEventHandler(dataGridView1_CellBeginEdit);

     

    }

     

    void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)

    {

    if (e.ColumnIndex == this.dataGridView1.Columns["DtVencto"].Index &&

    e.RowIndex < this.dataGridView1.NewRowIndex)

    {

    this.maskedTextBox.Mask = "00/00/0000";

    Rectangle rect = this.dataGridView1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true);

    this.maskedTextBox.Location = rect.Location;

    this.maskedTextBox.Size = rect.Size;

    this.maskedTextBox.Text = "";

    if (this.dataGridView1[e.ColumnIndex, e.RowIndex].Value != null)

    {

    this.maskedTextBox.Text = this.dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString();

    }

    this.maskedTextBox.Visible = true;

     

    // Aqui tento direcionar o foco..

    this.maskedTextBox.Focus();

    }

    }

     

     

     

     

    Desde ja agradeço a ajuda...

     

     

    SDS.

     

    Duarte..

     

    domingo, 28 de outubro de 2007 08:52

Respostas