Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 26.05.2019
Сообщений: 7

Можно ли расположить линии на picturebox используя массив?

26.05.2019, 18:48. Показов 1466. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть в том, чтобы реализовать такой рисунок на picturebox, наверняка следует использовать массив из 10 элементов, только не знаю как записать саму суть, чтобы он рисовал в определенном месте.
Миниатюры
Можно ли расположить линии на picturebox используя массив?  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.05.2019, 18:48
Ответы с готовыми решениями:

Можно ли расположить линии на picturebox используя массив?
Суть в том, чтобы реализовать такой рисунок на picturebox, наверняка следует использовать массив из 10 элементов, только не знаю как...

Как можно вывести картинку из ресурсов на форму, не используя PictureBox?
Итак, здравствуйте. Я совсем недавно начал осваивать C#, поэтому хотелось бы попросить изъясняться более понятно Вопрос заключается в...

Как расположить PictureBox над PictureBox
Пишу редакто блок-схем. Рабочая область - PictureBox. Как сделать так, что бы остальные PictureBox'ы были поверх основного. Пробовал...

8
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
26.05.2019, 19:10
Цитата Сообщение от ArtjomHelper Посмотреть сообщение
такой рисунок
Так у Вас на рисунке всего 5 линий... Или это только часть рисунка?
Цитата Сообщение от ArtjomHelper Посмотреть сообщение
наверняка следует использовать массив из 10 элементов
зачем? если просто нужно нарисовать, то хватит и обычного цикла.
Цитата Сообщение от ArtjomHelper Посмотреть сообщение
не знаю как записать саму суть, чтобы он рисовал в определенном месте.
Как то так:
C#
1
2
3
4
5
6
7
        private void PictureBox1_Paint(object sender, PaintEventArgs e)
        {
            int n = 5;
            for(int i = 0; i < n; i++)
                e.Graphics.DrawLine(Pens.Black, 0, i * pictureBox1.Height / n, 
                pictureBox1.Width, i * pictureBox1.Height / n + pictureBox1.Height / n);
        }
0
0 / 0 / 0
Регистрация: 26.05.2019
Сообщений: 7
26.05.2019, 19:14  [ТС]
Да, извините, из 5 элементов.
Но мне надо, чтобы это реализовывалось при нажатии кнопки, если есть решение - скиньте, буду благодарен!
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
26.05.2019, 19:21
Лучший ответ Сообщение было отмечено ArtjomHelper как решение

Решение

Цитата Сообщение от ArtjomHelper Посмотреть сообщение
чтобы это реализовывалось при нажатии кнопки
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        bool draw = false;
        private void button_Click(object sender, EventArgs e)
        {
                draw = !draw;
                pictureBox1.Invalidate();
        }
 
        private void PictureBox1_Paint(object sender, PaintEventArgs e)
        {
            if(!draw) return;
            int n = 5;
            for(int i = 0; i < n; i++)
                e.Graphics.DrawLine(Pens.Black, 0, i * pictureBox1.Height / n, 
                pictureBox1.Width, i * pictureBox1.Height / n + pictureBox1.Height / n);
        }
1
0 / 0 / 0
Регистрация: 26.05.2019
Сообщений: 7
26.05.2019, 19:39  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void Form1_Load(object sender, EventArgs e) 
{ 
pictureBox1.Image = new Bitmap(pictureBox1.Width, pictureBox1.Height); 
Graphics g = Graphics.FromImage(pictureBox1.Image); 
int cnt = 0; 
Point[] points = new Point[2]; 
while(cnt++ < 5) 
{ 
points[0].X = cnt < 4 ? 0 : pictureBox1.Width * (cnt - 3) / 8; 
points[0].Y = cnt < 4 ? pictureBox1.Height * cnt / 3 : pictureBox1.Height; 
points[1].X = cnt > 8 ? pictureBox1.Width : pictureBox1.Width * cnt / 8; 
points[1].Y = cnt > 8 ? pictureBox1.Height * (cnt - 8) / 3 : 0; 
g.DrawLine(Pens.Black, points[0], points[1]); 
} 
}
а вот дан такой код, но там нарисовано не так, не очень понимаю как переделать под координаты верные, ваш способ не работает.
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
26.05.2019, 19:47
Цитата Сообщение от ArtjomHelper Посмотреть сообщение
но там нарисовано не так
Ну что Вы показали, так я и нарисовал...
Цитата Сообщение от ArtjomHelper Посмотреть сообщение
ваш способ не работает
0
0 / 0 / 0
Регистрация: 26.05.2019
Сообщений: 7
26.05.2019, 19:58  [ТС]
я про свой код
Вы бы могли его переделать, если вас не затруднит конечно...
0
Фрилансер
805 / 312 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
26.05.2019, 20:13
Цитата Сообщение от ArtjomHelper Посмотреть сообщение
Вы бы могли его переделать
Вы издеваетесь? ))) Я Вам написал код, который делает то, что нужно... Чем он Вас не устраивает?
0
0 / 0 / 0
Регистрация: 26.05.2019
Сообщений: 7
26.05.2019, 20:18  [ТС]
все уже, я протупил жестоко, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.05.2019, 20:18
Помогаю со студенческими работами здесь

Как можно сократить код и расположить данные элементы в один целый массив?
Здравствуйте! Нужна помощь, имеется три переменных в которых расположение координаты то есть, function myFunction() { var...

Форма делится на сектора. Курсором мыши можно рисовать линии. Цвет линии зависит
Народ спасайте. Задача такова &quot; Форма делится на сектора (их количество задает пользователь). Курсором мыши можно рисовать линии. Цвет...

Рисование линии мышкой на PictureBox
Всем привет. Решил побаловаться, попробовать реализовать некое подобие Paint на C#. Начал с рисования линии. Вроде бы делаю все правильно:...

Очищение PictureBox'a, остаются линии
Не могу очистить пикт.бокс.После clear остаются линии, рефреш тоже не помогает. как еще можно их удалить ? подозреваю, что они остаются в...

Стираются линии, нарисованные в PictureBox
Может кто-то когда-то сталкивался в picturebox рисуются линии и фигуры (методом line), когда нарисованое не помещается появляется полоса...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru