1

최근까지 모든 컨트롤을 기본 이름으로 유지 한 프로젝트에서 작업하고 있습니다. 프로젝트를 시작할 때 여러 번 실수로 뭔가를 두 번 클릭하고 해당 컨트롤에 대한 이벤트 처리기를 만들었습니다. Ctrl + Z는 내가 원했던 것보다 훨씬 더 실행을 취소 할 수 있기 때문에 나는 그 (것)들을 제거하는 방법을 몰랐다.Visual Studio 2010 이벤트 처리기 제거

Properties 창의 Events 섹션에서 컨트롤에서 사용중인 이벤트를보고 리팩토링 할 수 있습니다. 나는 주로 이러한 문제를 해결했지만 실제로는 그것을 사용하고있는 컨트롤을 찾을 수없는 TabPage4_Click이라는 함수가 있습니다. 더 이상 TabPage4가 없으며이 시점에서 모든 항목의 이름이 바뀌었고 탭 페이지 중 아무 것도이 이벤트 핸들러를 사용하지 않지만 제거하면 애플리케이션이 컴파일되지 않습니다.

이 시점에서 양식에서 너무 많은 컨트롤이 하나씩있어이 이벤트 처리기를 사용하고 있는지 확인할 수 없습니다. 이벤트 처리기 목록과 이벤트 처리기 목록을 볼 수있는 방법이 있는지 궁금합니다. Visual Studio 2010에서 어떤 컨트롤이 현재 이벤트 처리기를 사용하고 있는지 쉽게 추적 할 수 있으므로 충돌을 일으키지 않고 제거 할 수 있습니다.

+0

Ctrl + Shift + F 'TabPage4_Click' '전체 솔루션'? – dougajmcdonald

+0

검색하는 유일한 위치는 이름을 찾는 Windows Forms 디자이너에서 생성 된 myForm.Designer.cs 코드 블록입니다. 내가 생성 된 코드를 삭제하여 문제를 해결할 수 있다는 것을 알고 있지만 다른 곳에서 문제를 해결할 수있는 방법이 있기를 바래서 코드가 다시 생성 될지 걱정할 필요가 없습니다. 비록 코드를 한 줄만 남기고 물건을 바꿀 때 제거되지 않을 수도 있습니다. – Alex

+0

designer.cs에서 가져 와서 컴파일하면 다시 나타나지 않습니다. –

답변

2

양식에 컨트롤을 추가하는 것 외에는 디자이너를 사용하지 마십시오. 당신은 당신이 명시 적으로 폼 초기화에 따라 자신의 이벤트 등록하는 경우 훨씬 쉽게 관리 할 이벤트와 이벤트 핸들러 확인할 수있는 것들 :

void RegisterControlEvents() 
{ 
    myButton.Click += MyClickHandler; 
    ... 
} 

void MyClickHandler(object sender, EventArgs e) 
{ 
    ... 
} 

는 곧 자신이 모든 디자이너를 사용하지 않는 찾을 수 있습니다을 ...

데드 코드는 삭제하고 빌드 해보십시오. 참조가있는 경우 VS는 삭제로 인해 코드가 손상된 곳/수정 위치를 알려줍니다.

공구를 찾고 있다면 ReSharper 데모를 받으십시오. 나는 다른 것을 비교하지 못한다고 생각합니다 (JetBrains/ReSharper에서는 작동하지 않습니다. 단지 그 놀라운 도구 일뿐입니다).

+0

이것은 나에게 흥미 롭다. 나는 가능한 한 코딩하는 것을 선호한다. 나는 프레임 워크에 익숙하지 않고 코딩 방법을 받아 들였다. 나는 이것을 곧 풀어보고 그것이 어떻게 나를 위해 일하는지보아야 할 것이다. – Alex