Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
33 / 32 / 7
Регистрация: 13.12.2010
Сообщений: 342
1

Текст на PictureBox стирается при сворачивании-разворачивании окна

30.04.2012, 18:20. Показов 5114. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
У меня создается динамически несколько Picturebox.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
PictureBox[] vichisl = new PictureBox[30];
 
private void button1_Click(object sender, EventArgs e)
        {
            vichisl[i] = new PictureBox(); 
            vichisl[i].Location = new System.Drawing.Point(100, 100);
            vichisl[i].Size = new System.Drawing.Size(150, 84);
            vichisl[i].Image = new Bitmap("image/vichesl_box.png");
            vichisl[i].MouseDown += new System.Windows.Forms.MouseEventHandler(this.Vichisl_MouseDown);
            vichisl[i].MouseMove += new System.Windows.Forms.MouseEventHandler(this.Vichisl_MouseMove);
            vichisl[i].MouseUp += new System.Windows.Forms.MouseEventHandler(this.Vichisl_MouseUp);
            vichisl[i].Paint += new System.Windows.Forms.PaintEventHandler(this.Paint_text);
            vichisl[i].MouseClick += new System.Windows.Forms.MouseEventHandler(this.Right_MouseClick);
 
            Controls.Add(vichisl[i]);
 
            i++;
        }
Надпись на них реализовуется через:
C#
1
2
3
4
5
6
7
private void Paint_text(object sender, System.Windows.Forms.PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.DrawString(textBox1.Text, new Font("Arial", 10), System.Drawing.Brushes.Blue, new Point(30, 30));
 
            textBox1.Text = String.Empty;
        }
Если свернуть и развернуть, то понятно, что надписи сотруться. Как сделать так, чтобы надписи оставались, используя при это событие Paint? Все можно сделать через Image, но мне необходимо именно через событие Paint. Подскажите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2012, 18:20
Ответы с готовыми решениями:

Рисование на Picturebox: нарисованное стирается при сворачивании формы
Здравствуйте, подскажите как нарисовать на Picturebox. Нужно рисовать карандашом как в пейнте. ...

Исчезание символа при сворачивании/разворачивании окна
Как сделать так, чтобы при сворачивании-разворачивании окна, символ "b" исчезал? Символ "b" с...

Анимация при сворачивании/разворачивании формы
Собственно из темы всё ясно. Может кто поделится? Нужен триггер типа такого: ...

Канва самоочищается при сворачивании-разворачивании
На канве Form1.Canvas нарисовано какое то кол-во shape и линий, если свернуть развернуть окно...

4
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
30.04.2012, 18:39 2
C#
1
2
3
4
this.Resize += delegate
{
    pictureBox1.Invalidate();
};
1
33 / 32 / 7
Регистрация: 13.12.2010
Сообщений: 342
30.04.2012, 19:03  [ТС] 3
Петррр, а можно, пожалуйста, небольшое объяснение?
0
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,245
30.04.2012, 20:21 4
я не Петр, и пусть он простит меня что отвечаю вместо него, но то что он написал, называется подпиской на события. У формы есть событие Resize, которое происходит когда изменяется размер формы, либо форма сворачивается/разворачивается. Соответственно, при подписке идёт вызов перерисовки pictureBox. При перерисовки у тебя вызывается то что написано в pictureBox.Paint
1
33 / 32 / 7
Регистрация: 13.12.2010
Сообщений: 342
30.04.2012, 21:23  [ТС] 5
Это, к сожалению, проблемы не решает.
Меня именно интересует, каким образом написать событие Paint, так чтобы перерисовывался текст на все PictureBox (на каждый свой). Как-то бы в массив текст ввести, а потом к каждому PictureBox свой элемент. Просто перерисовуется содержимое textBox - а его после создания PictureBox просто нету, вот и получается перерисовка на всех PictureBox - String.Empty - ничего
0
30.04.2012, 21:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2012, 21:23
Помогаю со студенческими работами здесь

Ошибка при сворачивании-разворачивании игры
Если сворачиваю окно игры, а потом разворачиваю снова, то в этой строке: ...

Нарисованное стирается при сворачивании формы
public partial class MainForm : Form { Color deafultCol = Color.Black; bool...

Искажается изображение при сворачивании/разворачивании игр
Не могу понять с чем это связано, монитор купил недавно ED242QR приложил фото, не лечится никак...

Артефакты при сворачивании и новом разворачивании игры
Здравствуйте уважаемые и опытные пользователи. Подскажите пожалуйста не которые моменты артефактов,...


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

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