Microsoft Visual Studio 2010에 DataGridView가 있는데, 두 개의 charachter를 "I"및 "O"에 삽입하고 싶습니다. 하지만 KeyPress를 발사하면 다시 텍스 트된 텍스트가 셀에 표시되지 않습니다.DataGridView 셀에 값이 표시되지 않습니다.
무슨 문제 일 수 있습니까?
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
switch (treeView1.SelectedNode.Name)
{
case "PanelProperties":
e.Control.KeyPress -= new KeyPressEventHandler(Control_KeyPress);
e.Control.KeyPress += new KeyPressEventHandler(Control_KeyPress);
break;
default:
break;
}
}
private void Control_KeyPress(object sender, KeyPressEventArgs e)
{
int columnIndex = dataGridView1.CurrentCell.ColumnIndex;
switch (columnIndex)
{
case 5:
if (!(e.KeyChar.Equals('i') || e.KeyChar.Equals('I')) && !(e.KeyChar.Equals('o') || e.KeyChar.Equals('O')))
e.Handled = true;
else
{
if (e.KeyChar.Equals('i') || e.KeyChar.Equals('I'))
dataGridView1.CurrentCell.Value = "In";
else
dataGridView1.CurrentCell.Value = "Out";
}
break;
case 6:
case 7:
if (!(e.KeyChar.Equals('n') || e.KeyChar.Equals('N')) && !(e.KeyChar.Equals('y') || e.KeyChar.Equals('Y')))
e.Handled = true;
else
{
if (e.KeyChar.Equals('n') || e.KeyChar.Equals('N'))
dataGridView1.CurrentCell.Value = "No";
else
dataGridView1.CurrentCell.Value = "Yes";
}
break;
}
}
더 사용, 그것은 표시되지 않은 내가 입력 할 때 "에서" "I", 또는 "아웃"때 "o"를 입력하고 나머지는 – nnmmss
내 샘플 응용 프로그램에서이 기능을 사용해보십시오. dataGridView1.CurrentCell.Value = "In"; dataGridView1.EndEdit(); – Swati