Zmiana wartości innego formularza z oddzielnego formularza (rozwiązanie nie działa)

narody. Dzisiaj próbuję zmienić obraz tła panelu z osobnego formularza. Spojrzałem na kilka S.O. pytania i wszyscy mówili, aby stworzyć nową zmienną formularza i zmienić jej wartości. Zrobiłem to, a ja nie dostaję żadnych błędów, ale nie mam też żadnych zmian w tle. Oto co mam na myśli: (to jest główny formularz, który próbuję zmienić)

public static void changeGridSize(int newSize)
        {
            Form_Main frm = new Form_Main();
            switch (newSize) 
            {
                case 16:
                    frm.panelBoard.BackgroundImage = Properties.Resources.grid_16;
                    break;
                case 32:
                    frm.panelBoard.BackgroundImage = Properties.Resources.grid_32;
                    break;
                case 64:
                    frm.panelBoard.BackgroundImage = Properties.Resources.grid_64;
                    break;
                case 128:
                    frm.panelBoard.BackgroundImage = Properties.Resources.grid_128;
                    break;
            }
        }

A oto inna forma:

int newSize = 16;
Form_Main.changeGridSize(newSize);

To najprawdopodobniej coś głupiego, ale na tym nie mam ochoty.

EDYTOWAĆ

Tutaj pliki

Główna forma

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

namespace LWJSGL_Level_Editor
{
    public partial class Form_Main : Form
    {
        public static int gridSize = 32;
        public Image pbg 
        {
            get { return this.panelBoard.BackgroundImage; }
            set { this.panelBoard.BackgroundImage = value; }
        }
        public String curTile = "";
        public Form_Main()
        {
            InitializeComponent();
        }

        private void Form_Main_Load(object sender, EventArgs e)
        {

        }

        private void buttonTile_Click(object sender, EventArgs e)
        {
            //show file dialog
            openFileDialogTile.ShowDialog();
        }

        private void openFileDialogTile_FileOk(object sender, CancelEventArgs e)
        {
            curTile = openFileDialogTile.FileName;
            Msg(curTile);
        }

        public void Msg(String str)
        {
            MessageBox.Show(str);
        }

        private void buttonSettings_Click(object sender, EventArgs e)
        {
            Form_Settings fs = new Form_Settings();
            fs.ShowDialog();
        }

        public void changeGridSize(int newSize)
        {
            switch (newSize) 
            {
                case 16:
                    this.panelBoard.BackgroundImage = Properties.Resources.grid_16;
                    break;
                case 32:
                    this.panelBoard.BackgroundImage = Properties.Resources.grid_32;
                    break;
                case 64:
                    this.panelBoard.BackgroundImage = Properties.Resources.grid_64;
                    break;
                case 128:
                    this.panelBoard.BackgroundImage = Properties.Resources.grid_16;
                    break;
            }
        }

    }
}

Inna forma

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

namespace LWJSGL_Level_Editor
{
    public partial class Form_Settings : Form
    {
        int newSize;

        public Form_Settings()
        {
            InitializeComponent();
        }

        private void buttonSaveSettings_Click(object sender, EventArgs e)
        {
            //save settings
            Form_Main.gridSize = newSize;
            Form_Main frm = new Form_Main();
            frm.changeGridSize(newSize);
            this.Close();
        }

        private void radioButtonGridSize16_CheckedChanged(object sender, EventArgs e)
        {
            newSize = 16;
        }

        private void radioButtonGridSize32_CheckedChanged(object sender, EventArgs e)
        {
            newSize = 32;
        }

        private void radioButtonGridSize64_CheckedChanged(object sender, EventArgs e)
        {
            newSize = 64;
        }

        private void radioButtonGridSize128_CheckedChanged(object sender, EventArgs e)
        {
            newSize = 128;
        }

        private void Form_Settings_Load(object sender, EventArgs e)
        {
            switch (Form_Main.gridSize)
            { 
                case 16:
                    this.radioButtonGridSize16.Checked = true;
                    break;
                case 32:
                    this.radioButtonGridSize32.Checked = true;
                    break;
                case 64:
                    this.radioButtonGridSize64.Checked = true;
                    break;
                case 128:
                    this.radioButtonGridSize128.Checked = true;
                    break;
            }
        }
    }
}

Metoda rozszerzenia musi być zdefiniowana w nie-generycznym błędzie klasy statycznej występującym w linii 13 formularza głównego.

questionAnswers(2)

yourAnswerToTheQuestion