Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Aringot
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 21
1

Рисование по вершинам(точкам)

28.11.2017, 00:15. Просмотров 125. Ответов 2
Метки нет (Все метки)

Доброй ночи уважаемые форумчане.

Сразу перейду к вопросу.

Вот код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public partial class MainForm : Form
    {
        int[] A={1,2,3,4,5,6,7,8,9,10,11};
        Point[] P=  {
                        new Point(100,80),//Вершина №1
                        new Point(100,140),//Вершина №2
                        new Point(100,200),//Вершина №3
                        new Point(100,260),//Вершина №4
                        new Point(253,290),//Вершина №5
                        new Point(406,290),//Вершина №6
                        new Point(560,260),//Вершина №7
                        new Point(560,200),//Вершина №8
                        new Point(560,140),//Вершина №9
                        new Point(560,80),//Вершина №10
                        new Point(330,50),//Вершина №11
                    };
 
void DrwClick(object sender, EventArgs e)
        {
                    
            Bitmap points_11 = new Bitmap(pan3.Width,pan3.Height);
            Pen pen = new Pen(Color.Black);
            Graphics g = Graphics.FromImage(points_11);
            pan3.BackgroundImage = points_11;
            
    
            for(int i=0;i<A.Length;i++) {
                    for(int j=0;j<A.Length;j++) {
                        if (DGVSm[i,j].Value != "0") {   
                                                            g.DrawLine(new Pen(Brushes.Black, 1),P[i],P[j]);
                                                      }
                                                 }
                                         }
                
        }
Суть состоит в том, чтобы отрисовать линии только между теми вершинами, которые соответствуют условию ( То есть имеем DataGridView размерностью 11 на 11, который забит нулями. Осуществляется заполнение таблицы единицами. ) если ячейка != 0, то значит значение проходит, а метод рисования принимает значения столбца и строки и рисует линию между этими вершинами где на пересечении стоит 1 ( в DataGridView). Но как бы я не пытался, а отрисовываются сразу все вершины, а не нужные мне и подходящие по условию.

P.S.:Заполнение осуществляется зеркально, то есть если я ввёл в ячейку DGVSm[3,2].Value = "1"; то с помощью события CellEndEdit в ячейку DGVSm[2,3] так же запишется 1. ( Если это имеет значение).
C#
1
2
3
4
5
6
7
8
void DGVSmCellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            int x;
            int y;
            x = Convert.ToInt32(DGVSm.CurrentCell.ColumnIndex.ToString());
            y = Convert.ToInt32(DGVSm.CurrentCell.RowIndex.ToString());
            DGVSm[y,x].Value = DGVSm.CurrentCell.Value; 
        }
0
Миниатюры
Рисование по вершинам(точкам)  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2017, 00:15
Ответы с готовыми решениями:

Рисование фигур по точкам
Здравствуйте! меня интересует такой вопрос: как мне нарисовать фигуры по двум...

Рисование линий по точкам массива
Есть двумерный массив, Point mas2 = new Point; который заполняется...

Как присваивать вершинам графа коэффициенты
Есть программа, которая позволяет строить графы посредством рисования вершин и...

Найти ребра переллелепипеда (шестигранника) по вершинам
На входе есть 8 координат вершин. Необходимо получить массив из пар точек, где...

По известным трем вершинам прямоугольника (x1, y1), (x2, y2), (x3, y3) найти координаты четвертой вершины
Помогите составить такую прогу на C#.

2
nedel
593 / 591 / 347
Регистрация: 09.04.2014
Сообщений: 1,409
Завершенные тесты: 1
28.11.2017, 01:37 2
попробуйте проверять ячейки так
C#
1
 if (DGVSm[i,j].Value.ToString() != "0")
1
Aringot
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 21
28.11.2017, 02:56  [ТС] 3
Благодарю, результат не заставил себя ждать. Тему можно закрыть.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2017, 02:56

Рисование Рисование точек по координатам
Доброе время суток. Помогите мне наглядным примером. У меня есть массив...

Построить график по точкам
Добрый день, народ. Строю график по точкам: x y 0 ...

График по экспериментальным точкам
Добрый вечер. Стоит задача построения графика по экспериментальным точкам....


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

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

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