2014-06-09 1 views
0

SelectionChanged 메서드는 프로그램에서 선택을 변경하면 트리거됩니다. 따라서, 예를 들어, dataGridView.ClearSelection()dataGridView.Rows[0].Selected = true 또는 호출하는 것은 사용자가 선택을 변경하는 경우에만, 예를 코드를 실행할 수있다 방법을DataGridView에서 사용자 선택 만 SelectionChanged 이벤트를 트리거 할 수 있습니까?

private void dataGridView_SelectionChanged(object sender, EventArgs e) 
{ 
} 

부를 것이다 마우스 또는 키보드로 행/셀을 선택하면됩니까? http://stackoverflow.com/ :

+0

그것을 할 수있는 더 좋은 방법은 없습니다,이 참조 사용자 작업에서만 실행하게됩니다 질문/650784/결정 - 경우 - 변경 - 이벤트 - 사용자 입력 - 또는 -에서 발생했습니다. –

+0

내가 아는 한 : 아니. 하지만이 방법에 논리를 추가하고 if 문 다음에 코드를 작성할 수 있습니다. 나는 당신이 이벤트에 대한 정보를 얻을 수 있어야한다고 생각합니다. 희망이 도움이 될 것입니다. – sdrzymala

답변

0

당신은

private bool _programmaticChange; 

private void SomeMethod() 
{ 
    _programmaticChange = true; 
    dataGridView.ClearSelection(); 
    _programmaticChange = false; 
} 


private void dataGridView_SelectionChanged(object sender, EventArgs e) 
{ 
    if (_programmaticChange) return; 
    // some code 
} 

이 코딩해야합니다 이것은