在datagridviewc#中只选择一个文本单元格

本文关键字:一个 文本 单元格 datagridviewc# 选择 | 更新日期: 2023-09-27 18:11:25

在datagridview中,我想只选择单元格的文本而不是整个单元格

如果我把

Datagridview.CurrentRow.Cells.[Datagridview.CurrentCell.ColumnIndex].Selected=true;

整个单元格被选中

是否有一种方法可以像vb6一样只选择单元格的文本

Datagridview.SelStart=0
Datagridview.SelLength=Len(Datagridview.Text)

thanks for help

在datagridviewc#中只选择一个文本单元格

BeginEdit将选择单元格中的所有内容,但您可以通过以下方式指定选择的开始和长度:

        ((TextBox)dgv.EditingControl).SelectionStart = 0;
        ((TextBox)dgv.EditingControl).SelectionLength = 3;

您可以通过为DataGridView控件调用BeginEdit()方法来做到这一点。它将启动所选单元格的编辑模式。也可以设置DataGridView控件的EditMode:

//set selected cell as you showed in your question
datagridview1.CurrentRow.Cells.[Datagridview.CurrentCell.ColumnIndex].Selected=true;
//call BeginEdit with true argument which will select all text within the cell
dataGridView1.BeginEdit(true);
//optionally set the EditMode before you call BeginEdit
dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;

这个工作对我来说,添加一个新的行后,我想编辑被添加行的第二列。同时突出显示单元格的值。希望能有所帮助"

        DataGridViewCell cellQty = dgvBundle.Rows[dgvBundle.Rows.Count - 1].Cells[1];
        dgvBundle.CurrentCell = cellQty;            
        dgvBundle.CurrentRow.Cells[1].Selected = true;
        dgvBundle.BeginEdit(true);

以编程方式获取当前单元格:

string msg = String.Format("Row: {0}, Column: {1}", dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex); MessageBox.Show(msg, "Current Cell");