从项目中完全删除图片框?

时间:2014-05-18 09:07:32

标签: c# picturebox

我有一个项目,我动态创建从屏幕一侧到另一侧的图片框。用户需要点击图片框,当他们点击时,他们将消失。但是,如果任何图片框从屏幕的一侧到达另一侧,则会丢失生命。 我的问题是,生活似乎随机消失。我怀疑这是因为图片框没有完全从项目中移除,并且甚至在我点击它们之后仍以某种方式继续旅行。 这是我的代码。非常感谢你的帮助:)。

//移动计时器

    private void timerMovement_Tick(object sender, EventArgs e)  
    {
        int i;
        for (i = 0; i < Zombie.Count(); i++)
        {
            int x = Zombie[i].img.Location.X;
            int y = Zombie[i].img.Location.Y;
            if (Zombie[i].loc == 0)
            {
                x = x + 10;
                if (Zombie[i].img.Location.X > 1200 && Zombie[i].img != null)
                {
                    Zombie[i].img.Dispose();
                    this.Controls.Remove(Zombie[i].img);
                    label5.Text = Convert.ToString(Zombies_Total - Zombies_Killed - 1);
                    Life_Remove();
                    label7.Text = Convert.ToString(i);
                }
            }
            else
            {
                x = x - 6;
                if (Zombie[i].img.Location.X < -100 && Zombie[i].img != null)
                {
                    Zombie[i].img.Dispose();
                    this.Controls.Remove(Zombie[i].img);
                    label5.Text = Convert.ToString(Zombies_Total - Zombies_Killed - 1);
                    Life_Remove();
                    label7.Text = Convert.ToString(i);
                }
            }
            Point p = new Point(x, y);
            Zombie[i].img.Location = new Point(x, y);
      }

//生命清除

    private void Life_Remove()
    {
        if (pictureBoxLife1.Visible == true)
            pictureBoxLife1.Visible = false;
        else
            if (pictureBoxLife2.Visible == true)
                pictureBoxLife2.Visible = false;
            else
                if (pictureBoxLife3.Visible == true)
                    pictureBoxLife3.Visible = false;
    }

0 个答案:

没有答案