2013-02-26 2 views
2

C# .net 3.5에서 해당 toolstrip의 itemselect 이벤트에 toolstrip이 첨부 된 해당 컨트롤의 속성을 사용하는 방법은 무엇입니까? 캐스트가 유효한지 확인하지 않습니다컨텍스트 메뉴 itemselect 이벤트

var contextMenuStrip = (ContextMenuStrip) e.ClickedItem.GetCurrentParent(); 
var pictureBox = (PictureBox) contextMenuStrip.SourceControl; 
pictureBox. //here you can access it. 

이 코드 :

picArray[n].ContextMenuStrip = new ContextMenuStrip(); 
ToolStripItem Schedule = picArray[n].ContextMenuStrip.Items.Add("Schedule"); 
picArray[n].ContextMenuStrip.Items.Add("Schedule"); 
picArray[n].ContextMenuStrip.ItemClicked += (sender, e) => 
      {         
      panel1.Show();       
      if (e.ClickedItem == Schedule) 
       { 
       //Here I want to use property of that picturebox on which right 
       //click is done 
       } 
+1

질문이 있습니다 ... 왜 각 컨트롤에 대해 하나의 새로운 ContextMenuStrip을 만들었습니까? 당신은 하나 이상의 컨트롤에 동일한 하나를 연결할 수 있습니다 ... –

+0

@Adriano : 4 개의 장치에 대해 4 개의 그림 상자가 있습니다. 모든 그림 상자 이름은 해당 장치의 ipaddress 문자열이 주어집니다. 그림 상자를 오른쪽 클릭하여 해당 장치에 액세스하고 싶습니다. picArray.Name에 저장된 IP 주소가 필요할 것입니다. – Kevan

+0

하나의 ContextMenuStrip 만 만들고 모든 ContextMenuStrip에 지정할 수 있습니다. SourceControl 속성은 항상 ItemClicked 이벤트를 생성 한 컨트롤을 보유합니다. –

답변

2

당신은 뭔가를 시도 할 수 있습니다.

+0

고마워,이게 내가 원한거야! – Kevan