Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/49: Рейтинг темы: голосов - 49, средняя оценка - 4.82
5 / 5 / 0
Регистрация: 12.10.2011
Сообщений: 46
1

как нарисовать прямоугольник

22.11.2011, 16:42. Просмотров 10179. Ответов 3
Метки нет (Все метки)


Доброго времени суток. вопрос: как сделать, чтобы при нажатии кнопки (Paint) в этой форме рисовался прямоугольник по заданным параметрам(длина, ширина, цвет)?
я помещал на форму rectagleShape и редактировал его параметры, но чую, что это не совсем корректно.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2011, 16:42
Ответы с готовыми решениями:

как нарисовать прямоугольник
Проблема с прямоугольником case Item.Rectangle: g.DrawRectangle(new Pen(new...

Как нарисовать прямоугольник вокруг текста?
Возможно ли сделать обводку текста, есть такой код... g.DrawString(textBox1.Text, new...

Как нарисовать прямоугольник вокруг TextBox?
Этот textBox находится на вкладке tabPage1, находящейся в tabControl'e. Пробовал рисовать так: ...

Как нарисовать прямоугольник в Диалоговом окне?
Как нарисовать прямоугольник в Диалоговом окне???

3
376 / 309 / 18
Регистрация: 26.05.2009
Сообщений: 2,677
23.11.2011, 11:26 2
В событии OnPaint рисовать прямоугольник с помощью класса Graphics.

Добавлено через 22 минуты
Вот:
C#
1
2
3
4
5
6
7
8
9
        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.DrawRectangle(Pens.YellowGreen, this.ClientRectangle.Left + 20, this.ClientRectangle.Top + 20, this.ClientRectangle.Width - 40, this.ClientRectangle.Height - 40);
            g.Dispose();
        }
 
        private void Form1_Resize(object sender, EventArgs e)
        { this.Invalidate(); }
1
5 / 5 / 0
Регистрация: 12.10.2011
Сообщений: 46
24.11.2011, 00:00  [ТС] 3
а как сделать выполнения этого события по клику?
C#
1
2
3
4
5
6
7
8
9
10
 private void button3_Click(object sender, EventArgs e, PaintEventArgs ev)
        {
            Graphics g = ev.Graphics;
            g.DrawRectangle(Pens.Red, this.ClientRectangle.Left + 20, this.ClientRectangle.Top + 20, this.ClientRectangle.Width - Form2.width, this.ClientRectangle.Height - Form2.height);
            g.Dispose();
            /*rectangleShape1.Visible = true;
            rectangleShape1.Width = Form2.width;
            rectangleShape1.Height = Form2.height;
            rectangleShape1.BorderColor = 1;*/
        }
такой вариант не прокатил. ругается на ошибку в Form1.Designer.cs, я так понимаю из-за PaintEventArgs ev
0
376 / 309 / 18
Регистрация: 26.05.2009
Сообщений: 2,677
24.11.2011, 01:57 4
Это смотря для чего Вы рисуете его по клику. Если сделать так, как Вы хотите, то прямоугольник затрется границами экрана или другими окнами и не перерисуется. Вас это устроит?

Добавлено через 7 минут
C#
1
Graphics g = Graphics.FromHwnd(this.Handle);
Добавлено через 45 секунд
А 3-ий параметр в методе вообще уберите.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2011, 01:57

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как нарисовать или создать кликабельный прямоугольник
ребята столкнулся с такой проблемой на форме рисуется 100 прямоугольников при нажатии на каждый...

Как нарисовать закрашенный прямоугольник заданным Color
Есть string с именем цвета. Я делаю из нее объект типа Color (Color.FromName()). Нужно нарисовать...

Как нарисовать прямоугольник на форме при старте проекта?
Вопрос в заголовке)) using System; using System.Collections.Generic; using...

Нарисовать прямоугольник
Рисую прямоугольник, водя мышкой по полю. Но получается рисовать только если вести мышкой слева...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.