Повтор: передача нескольких изображений между формами в C# - PullRequest
2 голосов
/ 13 января 2020

Я делаю свой школьный проект, и я не могу получить несколько фотографий из формы 1, переходящих в форму 2. Более конкретно, в форме 1 пользователи будут нажимать на любые понравившиеся им картинки, а в следующей форме картинка будет медленно показываться , Я пытался исследовать, но для большинства топи c снаружи они могут передавать только изображение. Это код, который я пытаюсь записать при каждом событии щелчка pictureBox. Это будет работать, но с ошибкой, когда я пытаюсь нажать на картинку.

Form1

namespace CyberShop_Gia
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if(textBox1.Text == "")
            {
                MessageBox.Show("You've to enter your name first");
            }
            else
            {
                panel1.Visible = false;
                panel2.Visible = true;
                button1.Visible = false;
            }
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            pictureBox2.Visible = false;
            pictureBox3.Visible = false;
            PictureBox pb = pictureBox1 as PictureBox;
            Form2 f1 = new Form2(pb.Image, textBox1.Text);
            f1.Show();
        }

        private void pictureBox2_Click(object sender, EventArgs e)
        {
            pictureBox1.Visible = false;
            pictureBox3.Visible = false;
            PictureBox pb1 = pictureBox2 as PictureBox;
            Form2 f2 = new Form2(pb1.Image, textBox1.Text);
            f2.Show();
        }

        private void pictureBox3_Click(object sender, EventArgs e)
        {
            pictureBox2.Visible = false;
            pictureBox1.Visible = false;
            PictureBox pb2 = pictureBox3 as PictureBox;
            Form2 f3 = new Form2(pb2.Image, textBox1.Text);
            f3.Show();
        }
    }
}

Form2

public partial class Form2 : Form
{
    public Form2(Image pic, string username)
    {
        label1.Text = "Welcome " + username; 
        InitializeComponent();
        pictureBox1.Image = pic;
    }
}

Это ошибка , когда я пытался щелкнуть по любому изображению в форме 1, и полную информацию об ошибке можно увидеть здесь . Здесь - полный код моей программы.

1 Ответ

0 голосов
/ 14 января 2020

Вы назначаете текст для label1.Text перед InitializeComponent (); сделать это после InitializeComponent ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...