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

Создание двух объектов

21.05.2018, 22:06. Показов 719. Ответов 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
public partial class Form1 : Form
    {
        private Object[] o;
        private int k = 0;
        int i = 0;
        public Form1()
        {
            InitializeComponent();
            o = new Object [20];
            SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true); //двойная буферизация
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Interval = 2;
            timer1.Start();
        }
 
        private void panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = panel1.CreateGraphics(); // создаем место для рисования
            g.TranslateTransform(294, 363); // смещение начала координат (в пикселях)
            g.RotateTransform(180f);
            g.ScaleTransform(7f, 7f);
            List<Point> p = new List<Point>(); // список точек графика
            Pen pen = new Pen(Color.DarkRed, 0.5f); // перо, для отрисовки графика
            double E = 0;  //начальная точка графика
            while (E <= 40) // цикл для создания списка точек, расчет идет до указанного значения, которое является конечной точкой графика
            {
                E = E + 1; // шаг расчета координаты х
                double U = Math.Pow(0.5*(E-20),2); //   координата у нашего графика
                Point poss = new Point((int)E, (int)U); // создаем новую точку с рассчитанными координатами
                p.Add(poss); // добавляем точку в список точек
            }
            g.DrawCurve(pen, p.ToArray()); // отрисовка графика. Так так метод DrawCurwe() не может считывать данные из листа, а только из массива, то создаем из листа массив, по данным которого и идет постороение графика
            if (i>0)
            o[i-1].Peremeshenie(e.Graphics);
        }
 
        private void добавитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Object A = new Object();
            if (i < 20)
                o[i] = A;
            else
                Environment.Exit(0);
            i++;
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (k < 5000)
            {
                panel1.Invalidate();
                k++;
                return;
            }
            timer1.Stop();
        }
    }
    class Object
    {
        double x, y, speed; //координаты, скорость
        public Object()
        {
            x = 0;
            y = 0;
            speed = 1;
        }
        public void Peremeshenie(Graphics g)
        {
            x += speed;
            y = 0+Math.Pow(0.5 * (x - 20), 2);
            g.FillEllipse(new SolidBrush(Color.Red), (float)x, (float)y, 10, 10);
        }
    }

При нажатии на кнопку создается объект. При двойном нажатии на кнопку первый объект убирается, и создается второй. Как сделать так, чтобы одновременно было два объекта?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.05.2018, 22:06
Ответы с готовыми решениями:

Создание анимации двух объектов
Здравствуйте, в университете получил задание построить график кривой и воспроизвести анимацию его построения при заданных параметрах(фото 1...

Создание двух объектов класса Employee
Напишите программу с использованием класса Emloyee, два объекта класса Employee, устанавливает значения членов itsAge, itsYearOfService, и ...

Размещение объектов в пределах формы и отражение двух объектов при соприкосновении
Помогите с задачей, чтобы круг летал по форме и соприкасаясь с квадратом отталкивался от него. Shape2.Top = Shape2.Top - 50 End If If...

1
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
22.05.2018, 23:00
Temarot, 36 строка
C#
1
2
3
4
5
if (i > 0)
{
   for (int j = 0; j < i; j++)
       o[j].Peremeshenie(e.Graphics);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.05.2018, 23:00
Помогаю со студенческими работами здесь

Создание списка объектов класса с заранее неизвестным именем (именем самих объектов)
Уважаемые программисты, не получается решить такую задачу: требуется создать приложение (в консоли) &quot;клиенты банка&quot;. Есть два...

Создание кода из строк или создание произвольного количества объектов
Привет сообществу. Возник такой вопрос: Мне в мидлете необходимо создать некоторое количество StringItem, заранее неизвестное, то бишь...

Сравнение двух объектов
Допустим есть класс квадрат. Он содержит в себе поле &quot;P&quot; -- его периметр к примеру, &quot;S&quot; -- площадь. class Kvadrat ...

Столкновение двух объектов
Есть снаряд и 2 вида стен При столкновении со стеной,нужно определить какой из типов(ну для примера деревянная или металлическая) Как...

Взаимодействие двух объектов
Есть объект класса А. В нём есть массив объектов класса В. Программой предусмотрено поочерёдное обращение к элементам массива, с целью...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru