9 / 9 / 5
Регистрация: 10.05.2012
Сообщений: 292
1

Изображение на PictureBox отображается и на форме

08.05.2013, 01:16. Показов 1945. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Столкнулась с такой проблемой. Почему-то всё что рисуется в верхней части PictureBox у меня дублируется и на самой форме. От чего такое может быть и как с этим бороться??
Прикрепляю изображение, чтобы было лучше видно суть проблемы.
Миниатюры
Изображение на PictureBox отображается и на форме  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2013, 01:16
Ответы с готовыми решениями:

Не отображается изображение в форме
Добрый день. Имеется страница с профилем, где отображаются контактные данные пользователя....

Если не выбрано изображение в PictureBox как сделать чтобы выскакивала ошибка на новой форме
как правильно написать в if if (pictureBox1.Image="") { ...

Создать PictureBox на второй форме с размерами из TextBox'ов, расположенных на первой форме
Добрый вечер, столкнулся с проблемой. У меня есть 2 TextBox'a, они находятся на первой форме. Мне...

Не отображается текст поверх PictureBox
Добрый день! Программировать не умею, не понимаю почему не отображается надпись поверх...

3
311 / 309 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
08.05.2013, 08:49 2
такое ощущение, что событие Paint, в обработчике которого рисуете подписано и для страницы TabControl'a и для самой формы. Смотрите внимательно, просто снимите обработчик из формы.
Точнее сказать без кода сложно.
0
9 / 9 / 5
Регистрация: 10.05.2012
Сообщений: 292
08.05.2013, 22:54  [ТС] 3
Цитата Сообщение от kontuPauk Посмотреть сообщение
такое ощущение, что событие Paint, в обработчике которого рисуете подписано и для страницы TabControl'a и для самой формы. Смотрите внимательно, просто снимите обработчик из формы.
Точнее сказать без кода сложно.
Вообщем, делаю всё так.
C#
1
2
3
4
5
public Form1()
        {
            InitializeComponent();
            Paint += new PaintEventHandler(pictureBox1_Paint);
        }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            Pen pn = new Pen(Color.DimGray,2);
            pn.EndCap = LineCap.ArrowAnchor;
            pn.CustomEndCap = new AdjustableArrowCap(5, 10);
                Point a, b;
            for (int i = 0; i < mas.Count; i++)
            {
                add_vertex(mas[i].point1, (i+1).ToString() + mas[i].Name,e.Graphics);                
            }
            foreach (var edge in mas_edg)
            {
                a = mas[edge.id_vertex1].point1;
                b = mas[edge.id_vertex2].point1;
                a.X+=75;a.Y+=50;b.X+=75;b.Y+=50;
                e.Graphics.DrawLine(pn,a,b);
                add_wt(edge, e.Graphics);
            }
        }
Функции добавления:
C#
1
2
3
4
5
6
7
 void add_vertex(Point a, String name, System.Drawing.Graphics drawG)//Добавляем вершину на форму
        {
            Image ver = Image.FromFile("vertex.png");
            RectangleF rect = new RectangleF(a.X, a.Y, 150, 100);
            drawG.DrawImage(ver, rect);
            add_text(a, name, drawG);
        }
0
9 / 9 / 5
Регистрация: 10.05.2012
Сообщений: 292
10.05.2013, 22:18  [ТС] 4
Попыталась переделать функцию add_vertex:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Image konc = Image.FromFile("vertex.png");
            RectangleF rect = new RectangleF(a.X, a.Y, 150, 100);
            if (vremennaya_test)
            {
                //drawG = pictureBox1.CreateGraphics();                
                drawG.DrawImage(ver, rect);
                add_text(a, name, drawG);
            }
            else
            {
                Bitmap bitmap = new Bitmap(pictureBox1.Image,pictureBox1.Width, pictureBox1.Height);
                Graphics gr = Graphics.FromImage(bitmap);
                gr.DrawImage(ver, rect);
                pictureBox1.Image = bitmap;
            }
В условии переменная для того, чтобы определить передвижение объекта или что-то другое( добавление, изменение размеров формы). Для всего остального пыталась сначала создать изображение, а потом присвоить его форме. Но так вообще не работает. Помогите пожалуйста. Не знаю, что ещё и думать

Добавлено через 5 часов 51 минуту
может есть варианты как сделать так, чтобы под tabControl-ом не было видно форму?
0
10.05.2013, 22:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2013, 22:18
Помогаю со студенческими работами здесь

Изображение в pictureBox
Здравствуйте, форумчане. Подскажите пожалуйста. Необходимо выполнить следующую задачу: Нужно...

Не отображается картинка в PictureBox в запущенном приложении
Не могу разобраться в чем проблема: во всем проекте не могу отображать картинки в элементах...

Неправильно отображается Picturebox на другом компьютере
Доброе время суток всем форумчанам. Пишу приложение в котором на главной форме находится PictureBox...

Обесцветить изображение из pictureBox
Нужно обесцветить изображение (изображение переводится в градации серого) из pictureBox. Как это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru