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
}
질문이 있습니다 ... 왜 각 컨트롤에 대해 하나의 새로운 ContextMenuStrip을 만들었습니까? 당신은 하나 이상의 컨트롤에 동일한 하나를 연결할 수 있습니다 ... –
@Adriano : 4 개의 장치에 대해 4 개의 그림 상자가 있습니다. 모든 그림 상자 이름은 해당 장치의 ipaddress 문자열이 주어집니다. 그림 상자를 오른쪽 클릭하여 해당 장치에 액세스하고 싶습니다. picArray.Name에 저장된 IP 주소가 필요할 것입니다. – Kevan
하나의 ContextMenuStrip 만 만들고 모든 ContextMenuStrip에 지정할 수 있습니다. SourceControl 속성은 항상 ItemClicked 이벤트를 생성 한 컨트롤을 보유합니다. –