2009-10-05 5 views
1

저는 컴팩트 프레임 워크로 작업 중이며 Windows Mobile 표준을위한 앱을 만들고 있습니다. 나는 phonenumbers를 포함하는 배열을 가지고 있고 그 배열에서 찾을 수있는 서브 메뉴 foreach 번호를 추가하고 싶다. 이 하위 메뉴는 클릭 할 수 있어야하지만 어떻게해야하는지 알 수 없습니다. # foreach 루프의 많은 메뉴에 이벤트 핸들러를 추가하는 방법은 무엇입니까?

내 코드입니다 :

   // "menuItemRight" is my main menu 


      // Send a message to the person 
      MenuItem smsMenu = new MenuItem(); 
      smsMenu.Text = "Melding"; 
      menuItemRight.MenuItems.Add(smsMenu); 

    foreach (string Number in aPhoneNumbers) 
      { 
       MenuItem mNumber = new MenuItem(); 

       string sNumber = Number.Trim(); 
       mNumber.Text = sNumber.Trim(); 


       //SMS 
       mSMS.Text = sNumber.Trim(); 
       smsMenu.MenuItems.Add(mSMS); 
       //mNumber.Click += new EventHandler(this.MenuClick); 
      } 

그래서 내가 원하는 것은 일반적인 이벤트 핸들러입니다,하지만 난이를 구현하는 방법을 모르겠어요. 누군가가 나를 도울 수

희망 :)는 전화 번호 (또는 어떤 데이터가있는 걸쳐 전달하려는) 이벤트 인수로 소요 귀하의 이벤트 핸들러를 설정 미리

답변

3

을 클릭. 당신이 그 속성에 foreach 루프에 저장하기 때문에

string sNumber = ((MenuItem)sender).Text; 
... 

:

mNumber.Text = sNumber.Trim(); 
... 
1

에서

감사합니다. 새 이벤트 arg 기반 클래스를 파생시켜야합니다.

따라서 처리 할 항목을 찾으려면 이벤트 인수를 압축 해제하는 처리기가 하나 있습니다.

+0

내가 함께 보내려면 더 많은 정보를

이 기능의 번호를 가지고 있습니다. 예 : 연락처 정보가있는 문자열입니다. 어떻게 할 수 있니? 나는 신분증으로 번호를 가진 전역 배열을 만들 수는 있지만 더 좋은 방법이 있다고 생각합니다. – Ikky

+0

답변 해 주셔서 감사합니다. 그것은 많은 도움이되었습니다 :) – Ikky

+0

@ikky - 이벤트 args는 모든 정보를 포함하는 구조가 될 수 있습니다. 당신은 단순한 유형에 국한되지 않습니다. – ChrisF

1

MenuItem의 생성자는 당신이 .Tag 속성은 다음 이벤트 핸들러에 다시 sender 매개 변수를 캐스트 각 항목에 일부 식별자를 넣어 약간 루프 코드를 수정할 수 있습니다 (onClick)

후 무엇을 가지고 a MenuItem. MenuItem과 인

HTH 함수 MenuClick 그것이 개체 ARG (객체 발신자)을 접수에 호출

관련 문제