Trying to make a game where explosions randomly appear on the screen using visual studio. I figured out how to make a single picture change location on the screen. So, I wanted to make the illusion of an explosion using imagelist. When I try to do it I get an error on my visual studio when I try to use Location. Location is underlined and say the following "ImageList" does not contain a definition for "Location" and no accessible extension method "Location" accepting a first argument of type "ImageList" could be found (Are you missing a using directive or an assembly reference?) I wanted to add more explosions on the screen .

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace random_image
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int num = 0;
        void Randompics()
        {
            int a;
            Random rnd = new Random();
            a = rnd.Next(30, 450);
            boom.Location = new Point(500, a);
        }
        void Explosions()
        {
            /*
            int a;
            Random rnd = new Random();
            a = rnd.Next(30, 450);
            symbol.Location = new Point(500, a);
            */
            Random rnd = new Random();
            int a;
            int x = rnd.Next(0, 800);
            int y = rnd.Next(0, 500);
            imageList1.Location = new Point(x,y);
            boom.Image = imageList1.Images[num];
            if (num == imageList1.Images.Count - 1)
            {
                num = 0;
            }
            else
                num++;
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            Explosions();
            //Randompics();
        }
    }
}

ImageList is a container control, not a visible one, hence it does not have a Location property.

What you need is a PictureBox control. You can show this on the form, load different images in it, and move it around use it's Location property.

You can set a PictureBox's Image like so:

pictureBox1.Image = imageList1.Images[0];
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.