내가있는 DataGridView를 사용하고, 어떤 장소에 내가 (예 : 텍스트 상자, 콤보 상자)에 컨트롤을 추가C#을 DataGridView에 키 처리
dataGridView1.Controls.Add(comboBox);
comboBox.Focus();
문제는이 컨트롤을 사용하여 해당하고, 원인 ENTER를 사용하여 선택을 커밋보다 DataGridView 키를 "처리"- clickng 후 콤보 상자에서 sth을 선택하는 대신 datagridview에서 선택 변경 (다음 셀로 이동) 입력하십시오.
내가 사용 STH 좋아 :
public class MyDataGridView:DataGridView
{
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if(keyData == Keys.Enter)
{
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
그러나 그 DataGridView를 원인 및 콤보 상자가 입력하는 답변을하지 않으며, 다른 키 ...
추가 infromation : 나는 ComboBox 클래스를 사용해야합니다, 대신 DataGridViewCombobox에 대한 설명입니다. 아무도 내 comobox에서 ENTER를 처리하는 방법을 도울 수 있습니까?
비슷한 문제를 해결하는 방법을 보여 주셨습니다. 내가 솔루션을 게시 [여기] (http://stackoverflow.com/questions/11108791/edit-a-textbox-cell-in-datagridview-as-if-it-were-a-normal-textbox-no-jumping- o) 우선 ProcessCmdKey에서 ENTER를 처리해야한다고 생각합니다. 나는 다른 방법을 찾지 못했다. – Dil
해결 했습니까? ProcessCmdKey 메서드 내에서 조작 할 수 있도록 MyDataGridViewClass에서 ComboBox에 대한 참조를 보유 할 수 있다고 생각합니다. – Dil