问题在动态生成的图片框的事件生成中

时间:2010-02-05 06:26:36

标签: c# winforms

我动态生成了图片框...现在我必须在那个图片框上显示不同的图片,之后当我点击特定的图片框时,它应该显示在下一个表格图片框中....我怎么知道点击特别的图片框....我怎么能这样做...回复我..在此先感谢..

我的编码是

for(int i=0;i<Num_Picbox;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);                
}


private void PictureBox_Click(object sender, EventArgs e)
{
    int imageid = 1;
    ClsProperty.ImageId = imageid;

    fd2 = new frmImageDisplay(imageid, ClsProperty.ipaddress);
    fd2.Show();
}

3 个答案:

答案 0 :(得分:3)

事件处理程序中的“sender”将是单击的图片框:

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();
}

答案 1 :(得分:0)

如果您显示代码会很有帮助,但无论如何, 如果您是动态创建图片框,则可以添加.Click + =您的方法名称等代码。 This is more help关于在添加事件时动态添加事件

希望有所帮助

答案 2 :(得分:0)

好吧,我觉得这很容易,事件的第一个参数总是对象发送者, 将它投射到图片框对象并读取ID属性,您可以继续解决您的问题!