2010-05-29 3 views
2

현재 새 시스템 화면의 프로토 타입을 작성하고 있으며이를 빌드하는 데 C#을 사용하고 있습니다.많은 Textbox에 대한 onTextChanged 이벤트 #

내가 가진 질문은 현재 14 개의 텍스트 상자가 화면의 몇 가지 다른 컨트롤의 조건에서 채워져 있습니다. 이 14 개의 텍스트 상자는 모두 다른 텍스트 상자에 표시된 합계와 합쳐집니다.

이 텍스트 상자는 편집 가능합니다 (클라이언트가 값을 높이고 싶을 경우를 대비하여 자세히 설명하지는 않지만). 전체 상자가 업데이트되도록 값이 변경 될 때 fatable ontextchange 이벤트가 필요합니다.

그러나 14 개의 다른 이벤트를 만들 필요가 없다는 느낌이 들었습니다. 14 개의 텍스트 상자 중 하나라도 해고되면 1 개의 이벤트가 발생할 수있는 방법이 있습니까?

감사

앨런

답변

3

예, 하나의 이벤트를 만들 수 있습니다 - 다음 하나의 이벤트 있음을 제기 당신의 클래스에서 동일한 이벤트 핸들러에 모든 텍스트 상자를 가입. 당신은 EventArgs의 자신의 서브 클래스를 만들 수 있습니다 -

클라이언트가 텍스트 상자가 변경 이 가장 그들과 함께 그 의사 소통하는 방법에 대해 생각해야합니다 알고 있어야합니다 경우

. 그렇지 않으면 간단하게 EventHandler 또는 EventHandler<EventArgs>이 정상적으로 작동합니다.

+0

감사합니다. 아래의 주석과 함께 문제를 해결했습니다. =) –

0

네, 텍스트 상자가 textBox1, textBox2 ...라고 가정 해 봅시다. textBox1의 "TextChanged"이벤트에 대해 "textBox1_TextChanged"메서드를 자동으로 만든 경우 다른 모든 텍스트 상자에도이 메서드를 쉽게 사용할 수 있습니다. ..

예를 들어 디자이너에서 "textBox2"구성 요소를 선택하고 속성 창에서 이벤트 탭으로 이동 한 다음 "TextChanged"값 옆에있는 편집 가능한 필드를 두 번 클릭하여 새 이벤트를 만드는 대신 드롭 다운 메뉴를 사용하여 (자동) 전에 생성 된 "textBox1_TextChanged"메소드를 선택하십시오.

어떤 textBox가 이벤트를 발생 시켰는지 결정해야하는 경우 메서드의 "sender"매개 변수를 사용할 수 있습니다.

관련 문제