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

Рисование нескольких окружностей с чтением их количества из файла

14.05.2015, 19:22. Показов 584. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вообщем рисую кружочки по кругу, и нужно сделать, чтобы количество кружочков выводилось из файла, но когда так делаю выводится форма с нарисованым красным крестом, но если заменить чтение из файла, то все ок
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
36
37
38
39
40
41
private void Form3_Paint(object sender, PaintEventArgs e)
        {
          
            int r = 1;
            int x0 = 100, y0=100;
            Pen pen = new Pen(Color.Black, 3);//окружность
            Pen arrow = new Pen(Color.Black, 3);
            arrow.CustomEndCap = new AdjustableArrowCap(4.0F, 8.0F);
           
            int n = 3;// kolichestvo();
 
 
 FileStream file1 = new FileStream("text.txt", FileMode.Open);
            StreamReader reader = new StreamReader(file1);
            int n= Convert.ToInt32(reader.ReadLine());// Количество вершин
 
          int[,] coords = new int[n, 2];
          double n2 = n;// Количество вершин дабл
          int r2;// умножение кос и син
          if (n < 10)
              r2 = 1;
          else
              r2 = Convert.ToInt32(Math.Ceiling(n2 / 10));
 
          int angle = Convert.ToInt32(360 / n);// угол вершин
          int angle2 = angle;// прибавление
          int j = 0;
          for (int i = 0; i < n; i++)
          {
              coords[i, 0] = Math.Abs(Convert.ToInt32(x0 + r * Math.Cos(angle * Math.PI / 180) * 180 / Math.PI)) * r2;
              coords[i, 1] = Math.Abs(Convert.ToInt32(y0 + r * Math.Sin(angle * Math.PI / 180) * 180 / Math.PI)) * r2;
              e.Graphics.DrawEllipse(pen, coords[i,0],coords[i,1], 20,20);
              
              angle += angle2;
              Label lab = new Label() { Parent = this};
              lab.Size = new Size(20, 13);
              lab.Location = new Point( coords[i,0],coords[i,1]+25);
              lab.Text = Convert.ToString(i);
          }
 
        }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.05.2015, 19:22
Ответы с готовыми решениями:

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

Рисование спиралей и окружностей (некорректная отрисовка окружностей)
Здравствуйте! Возникла проблема, разобраться в которой не получается Задача:нарисовать две спирали (по часовой и против) цвет ...

Рисование окружностей с демонстрацией процесса
Здравствуйте форумчане, нужна ваша помощь. Написала я программу для рисования окружностей, одно НО. Когда я рисую окружность сам процесс...

1
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
14.05.2015, 20:49
Евгений2395, чтение происходит снова и снова при каждой перерисовке формы, которая при некоторых обстоятельствах может происходить очень часто. Наверняка, в одну из таких попыток, файл оказывается занят, так как FileStream вы не закрываете (Close()). Лучше чтение сделать однократно и в конструкторе.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.05.2015, 20:49
Помогаю со студенческими работами здесь

Рисование окружностей
Требуется нарисовать концентрические окружности уменьшающегося радиуса. Радиус каждой следующей окружности равен 9/10 радиуса предыдущей....

Рисование окружностей с graphABC
Составьте программу для данного рисунка (задание на скриншоте), где N=10, а n=0.

Рекурсивное рисование окружностей
Здравствуйте! Подскажите такую вещь, как написать программу, которая бы строила окружности, центры которых лежат на другой окружности, при...

Рисование линий и окружностей
Ребята объясните как рисовать линии и кружки в microsoft visual studio 2010(новичок в этом деле, нужно сделать курсовую) искал в MSDNe ,...

Рисование окружностей разных цветов
Написать программу, которая рисует на экране каждую окружность с задержкой по времени в 1000 мс. После полной прорисовки стирать...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru