Для нестатического поля требуется ссылка на объект c#

Для нестатического поля требуется ссылка на объект c# вот часть кода:

private void pictureBox1_Click(object sender, EventArgs e)
        {
            if (Form2.openFileDialog1.ShowDialog() == DialogResult.OK) //ругается на Form2.openFileDialog1
            {
                img = Image.FromFile(Form2.openFileDialog1.FileName); //ругается на Form2.openFileDialog1
                pictureBox1.Image = img;
            }

            Byte[] bytes = Convert.FromBase64String(s);
            MemoryStream ms = new MemoryStream(bytes);
            img = Image.FromStream(ms);
            pictureBox1.Image = img;
        }

Ответы (1 шт):

Автор решения: Igor

Form2 - название класса. Здесь нужно название переменной или вообще ничего не нужно, если этот диалог на той же форме, чей код.


    Form2 form2 = new Form2();
    ...

        if (form2.openFileDialog1.ShowDialog() == DialogResult.OK) 
        {
            img = form2.Image.FromFile(openFileDialog1.FileName); 

Или положите OpenFileDialog на Form9, тогда Form2 не понадобится.

        if (openFileDialog1.ShowDialog() == DialogResult.OK) 
        {
            img = Image.FromFile(openFileDialog1.FileName); 
→ Ссылка