2009-11-22 4 views
2

나는 그들이 대리인과 관련이 있다는 것을 알고있다. 나는 시도했으나 여전히 사용법을 이해하지 못하고있다. 이벤트 처리기에 대해 조금 알고 있지만 실제로 알고 싶은 것은 대부분의 메서드의 일부인 일반 old eventargs를 사용하는 방법입니다. 시간 & 고려누군가가 가장 평신도 용어로 EventArgs를 사용하는 방법을 설명해 주시겠습니까?

void Page_Load(object sender, EventArgs e) 
{ 
myText.Value = "Hello World!"; 
} 

덕분에 아래의 예는, 난 그냥 내가 할 수있는 최선의 코더 노력하고 있어요.

마이크

답변

5

EventArgs 클래스는 이벤트를 발생시킬 때 데이터 캐리어로 사용됩니다. 일반적으로 제기되는 이벤트와 관련된 정보가 들어 있습니다.

많은 이벤트가 특정 정보가없는 EventArgs 클래스를 사용합니다. 이 클래스는 다른 모든 EventArg 클래스의 기본 클래스 역할도합니다. 보다 구체적인 EventArgs 클래스의 한 예는 많은 이벤트에서 사용되며 이벤트가 관련된 TreeNode에 대한 정보가 들어있는 TreeNodeEventArgs 클래스입니다.

이벤트 처리기가 이벤트를 발생시킨 소스로 데이터를 다시 전달할 수 있도록 EventArgs 클래스를 디자인 할 수 있습니다 (예 : CancelEventArgs 클래스).

2

기본 EventArgs 클래스를 직접 사용할 수없는 emtpy 클래스입니다.

그러나 이벤트에 대한 데이터를 제공하는 많은 파생 EventArg 클래스가 있습니다.

예를 들어, KeyPress 이벤트는 어떤 키를 눌렀는지 알려주는 KeyPressEventArgs을 제공합니다.

e 매개 변수가 상속 된 EventArgs 인 이벤트 처리기를 얻은 경우 상속 된 EventArgs 개체의 속성을 사용하여 이벤트에 대해 자세히 알아볼 수 있습니다.

+0

나는'EventArgs '를 직접 사용할 수 없다는 점을 제외하고는 당신이 말한 것에 모두 동의합니다 - 누군가가'EventArgs'를 직접 사용하지 못하도록 막았습니까? –

+0

당신이 할 수있는 일은 아무것도 없습니다. – SLaks

+1

http://msdn.microsoft.com/en-us/library/system.eventargs.aspx – IrishChieftain

1

일반 오래된 EventArgs 정말 당신이 강력한 형식의 데이터를 전송하기 위해 다른 멤버를 정의 할 수 있기 때문에 EventArgs에서 훨씬 더 유용 유도하는 유용한 그러나 유형이 아니다.

이 좋은 예 EventArgs로부터 상속 GridView 통과하지만 NewEditIndexCancel 및 특성을 제공하도록 확장된다 GridViewEditEventArgs이다.

관련 문제