나는 그림 상자를 동적으로 생성했습니다 ... 이제 그림 상자에 다른 이미지를 표시해야합니다. 특정 그림 상자를 클릭하면 그림 상자에 표시되어야합니다. 그림 상자 .... 특정 그림 상자를 어떻게 알 수 있습니까? 클릭하고 .... 어떻게 할 수 있습니까? 대답 해주세요 .. 미리 감사드립니다 ..
내 코딩은
for (int i = 0; i
shapes[i].Location = new Point(Left,Top);
Left += 200;
Top += i + 0;
shapes[i].Size = new Size(150, 150);
shapes[i].BackColor = Color.Black;
shapes[i].Visible = true;
shapes[i].BorderStyle = BorderStyle.FixedSingle;
this.Controls.Add(shapes[i]);
shapes[i].Click += new EventHandler(PictureBox_Click);
}
개인 무효 PictureBox_Click (개체 발신자, EventArgs 전자) {
int imageid = 1;
ClsProperty.ImageId = imageid;
fd2 = new frmImageDisplay(imageid, ClsProperty.ipaddress);
fd2.Show();
}
이벤트 핸들러의 "보낸 사람"은 클릭 한 그림 상자가됩니다.
private void PictureBox_Click(object sender, EventArgs e) {
PictureBox senderAsPictureBox = sender as PictureBox;
//this is the picture box that got clicked
int imageid = 1;
ClsProperty.ImageId = imageid;
fd2 = new frmImageDisplay(imageid, ClsProperty.ipaddress);
fd2.Show();
}
코드를 보여 주면 도움이 될 것입니다.하지만 어쨌든, 그림 상자를 동적으로 만드는 경우 .Click + = 메서드 이름과 같은 코드를 추가 할 수 있습니다.더 많은 도움이됩니다.추가 할 때 이벤트를 컨트롤에 동적으로 추가하는 방법
희망이 도움이된다.
좋습니다, 저는 쉽습니다. 이벤트의 첫 번째 인수는 항상 객체 발신자입니다. 그림 상자 개체로 캐스팅하고 ID 속성을 읽으면 문제를 해결할 수 있습니다.