일부 데이터를 편집하기 위해 DataTable의 Data를 가져 오는 DataGridView를 사용합니다. 모든 것이 괜찮은 것처럼 보이지만 불편 함이 있습니다. 사용자가 셀 편집을 시작하면이 셀의 텍스트가 자동으로 선택되고 커서가 셀 텍스트의 끝으로 이동합니다. 사용자가 셀 텍스트를 편집하기 시작할 때 편집 셀의 텍스트 시작 부분에 커서 (캐럿)를 프로그래밍 방식으로 배치하려고합니다. 나는 시도했다 :사용자가 셀 텍스트를 편집 할 때 프로그래밍 방식으로 DataGridView 셀을 편집 할 때 텍스트 시작 부분에 커서를 놓는 방법?
private void gridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
DataGridViewTextBoxEditingControl dText = (DataGridViewTextBoxEditingControl)e.Control;
dText.Select(0, 0);
}
그것은 작동하지 않는다. 또한 CellBeginEdit에서 텍스트 선택을 취소했습니다. 결과도 없습니다.
나는이 해결책을 시도하고 일한다! 고맙습니다! – Alexander
나는 몇 널 참조 예외 후 작은 정제를 추가 :'개인 서브 dataGridView1_CellEnter (개체로 보낸 사람, DataGridViewCellEventArgs으로 전자) Dgv.CellEnter 를 처리를 Dgv.CurrentCell.EditType = GetType을 (DataGridViewTextBoxEditingControl) 경우 DgGradeText.BeginEdit (거짓) Dim EditBox = DirectCast (Dgv.EditingControl, TextBox) IfNothing (EditBox) = False이면 EditBox.SelectionStart = 0 끝 인 경우 End Sub' –