작업중인 프로젝트의 DataGridviews에 이벤트 처리기를 재설정하는 데 문제가 있습니다.DataGridview 재사용 (이벤트 등록 취소)
직렬 포트에 연결 한 테스트 장치의 값으로 채울 수있는 데이터 그람저가 여러 개 있습니다. 테스트 세션이 완료되면 새 세션의 DataGridviews를 재설정하고 싶습니다.
내 문제는 내가 만든 각 셀에 대한 셀 클릭에 대한 이벤트를 등록하고 그 이벤트가 내가 DataGridviews를 지울 때 지속된다는 것입니다.
내가있는 DataGridView의 값을 나는 cellclick 이벤트를 추가하는 방법을 프로그래밍 여기
입니다 설정하고 :
for (int i = 0 ; i < dgList.Count ; i++) //dgList is list of datagridviews
{
int numberForEvent = i; //i is datagrid nr i
dgList[i].CellClick += ((sender, e) =>
{
alterValueClick(numberForEvent, e.RowIndex);
});
}
그것은 잘 내 프로그램을 처음 사용할 때 작동하지만을 나는의 DataGrids를을 재설정하는 경우 이벤트가 두 번 등록되는 등의 새로운 테스트 세션.
이벤트를 지우는 방법에 대한 아이디어가있는 사람이 있습니까? 아니면 디자인에 대한 잘못된 생각입니까?
재설정으로 무엇을 의미합니까? –
이벤트는 셀에 속하지 않고 dgv에 속합니다. 1-by1-1을 지우거나 새 그리드를 만듭니다. –
죄송합니다. 재설정을 통해 데이터 격자를 반복하고 .rows.clear 및 .columns.clear를 사용합니다. – karra