// Another overload, does the same as above, but also takes the Background object we're loading
 // into as an argument, so that it can set the height and width of the sprite.
 public int loadImage(string filename, Background bg, bool tile = false)
 {
     try
     {
         Bitmap file = new Bitmap(filename);
         bg.Width = file.Width;
         bg.Height = file.Height;
         return loadImage(file, tile);
     }
     catch (FileNotFoundException e)
     {
         return -1;
     }
 }
        private void cmbxBGImage_SelectedIndexChanged(object sender, EventArgs e)
        {
            BGs.Clear();

            Background newBG = new Background();
            SpriteLoader loader = new SpriteLoader();

            textures.Add(cmbxBGImage.Text, loader.loadImage(project.Resources[cmbxBGImage.Text], newBG, true));
            newBG.TextureID = textures[cmbxBGImage.Text];
            BGs.Add(newBG);

            // Redraw so user can see selected object
            glRoomView.Invalidate();
            glRoomView.Update();
        }