Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2021, 08:10   #1
Andrey1702
 
Регистрация: 16.09.2021
Сообщений: 8
По умолчанию Как устранить ошибку при использовании AutoScroll с#?

В flowLayotPanel1 создаются динамические Picturebox, при использовании элемента AutoScroll вылетает программа и выдает ошибку, как это исправить?

Код:
private void flowLayoutPanel1_Paint(object sender, PaintEventArgs e)
    {
        try
        {
            flowLayoutPanel1.AutoScroll = true;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }
код ошибки

System.AccessViolationException: "Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена."
Andrey1702 вне форума Ответить с цитированием
Старый 08.10.2021, 10:49   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Кто источник события?? Нужен весь стек ошибки
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 08.10.2021, 10:57   #3
Andrey1702
 
Регистрация: 16.09.2021
Сообщений: 8
По умолчанию

WorldMaster,

Код:
 private void btn_scrennshot_Click(object sender, EventArgs e)
    {
        var pb = new PictureBox();

        var name = new Label();

        var chbx = new CheckBox();

        try
        {
            Mat m = new Mat();

            capture.Retrieve(m);

            pb.Image = m.ToImage<Bgr, byte>().Flip(Emgu.CV.CvEnum.FlipType.None).Bitmap;

            pb.SizeMode = PictureBoxSizeMode.Zoom;

            pb.Height = pb.Image.Height / 3;

            pb.Width = pb.Image.Width / 3;

            name.Text = $"SMV_{textBox_surename.Text + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second}";

            flowLayoutPanel1.Controls.Add(pb);

            pb.Controls.Add(chbx);

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

private void flowLayoutPanel1_Paint(object sender, PaintEventArgs e)
    {
        try
        {
            flowLayoutPanel1.AutoScroll = true;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }
решение уже подсказали, спасибо добрым людям)


"Чтобы этого избежать, нужно создать свой собственный Bitmap и скопировать туда картинку.

pb.Image = new Bitmap(m.ToImage<Bgr, byte>().Flip(Emgu.CV.CvEnum.FlipTyp e.None).Bitmap);"
Andrey1702 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как устранить ошибку Uncaught TypeError: .forEach is not a function Женя32 JavaScript, Ajax 2 18.05.2020 08:39
Как устранить ошибку EFOpenError Кинельски Общие вопросы Delphi 4 30.10.2010 00:48
Как устранить ошибку? Кинельски Общие вопросы Delphi 7 10.10.2010 00:46
Как устранить Ошибку timed out kroŧ Работа с сетью в Delphi 2 21.05.2010 08:10
Как устранить ошибку Cannot instantiate non-existent class SeRhy PHP 1 28.04.2009 03:54