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

Взаимодействие между формами. Получить массив и переменную с главной формы

27.05.2015, 07:29. Показов 1003. Ответов 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
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
public partial class Form1 : Form
    {
        public static int gistogramma;
        public static int x;
        public int[] s = new int[x];
        public Form1()
        {
            InitializeComponent();
            comboBox1.Items.Add("Вертикальная гистограмма");
            comboBox1.Items.Add("Круговая диаграмма");
        }
 
        private void обАвтореToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form2 newMDIChild = new Form2();
            newMDIChild.ShowDialog();
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            if (comboBox1.Text == "Вертикальная гистограмма")
            {
                gistogramma = 1;
            }
            else
            {
                gistogramma = 2;
            }
            textBox1.Text = "";
            String[] d = new string[x];
            for (int i = 0; i < d.Length; i++)
            {
                d[i] = dataGridView1[1, i].Value.ToString();
                textBox1.Text += d[i] + " ";
            }
            [COLOR="Red"]Form3 newMDIChild = new Form3();
            newMDIChild.Owner = this;
            newMDIChild.ShowDialog();[/COLOR]
            for (int i = 0; i < s.Length; i++)
            {
                s[i] = Convert.ToInt32(dataGridView1[1, i].Value.ToString());
            }
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            numericUpDown1.Value = 0;
            this.dataGridView1.Rows.Clear();
            x = 0;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            this.dataGridView1.Rows.Clear();
            if (numericUpDown1.Value != 0)
            {
                x = (int)numericUpDown1.Value;
                dataGridView1.RowCount = x;
                //dataGridView1.Rows.Add(x);
                int[] mas = new int[x];
                Random r = new Random();
                for (int i = 0; i < mas.Length; i++)
                {
                    mas[i] = r.Next(1, 1000);
                    dataGridView1[0, i].Value = i.ToString();
                    dataGridView1[1, i].Value = mas[i].ToString();
                }
            }
        }
    }
Код дочерней формы:
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
public partial class Form3 : Form
    {
        
        public Form3()
        {
            InitializeComponent();
        }
 
        private void Form3_Paint(object sender, PaintEventArgs e)
        {
            [COLOR="Red"]Form1 Form1 = (Form1)this.Owner;[/COLOR]
            Graphics g = e.Graphics;
            //g.DrawRectangle(new Pen(Brushes.Black, 2), 10, 30, 200, 100);
            int summ = 0;
            for (int j = 0; j < Form1.s.Length; j++)
            {
                g.DrawRectangle(new Pen(Brushes.Black, 2), 10, 30, 200, 100);//программа не заходит в цикл
                summ = Form1.s[j] + summ;
            }
            float n = summ / 360;
            float nach = 0;
            for (int i = 0; i < Form1.s.Length; i++)
            {
                if (Form1.gistogramma == 1)
                {
                    int a = i * 100;
                    Random r = new Random();
                    Color NewColor = Color.FromArgb(250, r.Next(255), r.Next(255), r.Next(255));
                    SolidBrush pr = new SolidBrush(NewColor);
                    Pen br = new Pen(Color.Black, 2);
                    g.DrawRectangle(br, a, 500 - (Form1.s[i] / 2 + 10), 100, Form1.s[i] / 2);
                    g.FillRectangle(pr, a + 1, 500 - (Form1.s[i] / 2 + 9), 98, (Form1.s[i] / 2) - 1);
                }
                else
                {
                    float grad = n * Form1.s[i];
                    Random r = new Random();
                    Color NewColor = Color.FromArgb(75, r.Next(255), r.Next(255), r.Next(255));
                    Pen br = new Pen(Color.Black, 2);
                    SolidBrush pr = new SolidBrush(NewColor);
                    grad = nach + grad;
                    g.DrawPie(br, 348, 28, 502, 502, nach, grad);
                    g.FillPie(pr, 350, 30, 500, 500, nach + 5, grad - 5);
                    nach = nach + grad;
                }
 
            }
        }
    }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.05.2015, 07:29
Ответы с готовыми решениями:

Взаимодействие между формами
Здравствуйте. Я разрабатываю визуальный конструктор веб меню. Проблема в том что я не знаю как лучше установить связь между формами....

Взаимодействие между формами
Доброго времени суток! У меня есть 2 формы(WPF). Для меня всегда было интересным, как реализовывать взаимодействие между формами(на...

Взаимодействие между формами
Ехал в маршрутке и вдруг меня осенило! Нельзя ли сделать так чтобы две формы взаимодействовали между собой? Вот например: на одной...

2
.NET C#,ASP.NET MVC
Эксперт .NET
 Аватар для lvlkoo
594 / 507 / 224
Регистрация: 16.10.2010
Сообщений: 1,902
27.05.2015, 07:59
Самый простой вариант передавать через конструктор дочерней формы. Обновите конструктор с параметром и передавайте в него свои данные
C#
1
public Form3(object value){...}
1
63 / 69 / 22
Регистрация: 28.04.2015
Сообщений: 194
Записей в блоге: 1
27.05.2015, 08:02
Ответы на 7 самых частых вопроса по WinForms
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.05.2015, 08:02
Помогаю со студенческими работами здесь

Взаимодействие между формами
Здравствуйте! У меня на главной форме есть кнопка, при нажатии которой появяется вторая форма. Форму добавил через Проект-&gt;Добавить...

Взаимодействие между формами
Каким образом можно сделать, к примеру, кнопку button1, которая находится в поле Form1, а при нажатии на нее происходит какое либо...

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

Взаимодействие между формами
Есть основное окно приложения, и есть вот такое окно, для ввода данных Form2: TForm2; implementation uses Unit1; {$R *.lfm}...

Взаимодействие между формами
Доброго времени суток. Прошу помощи. Как сделать так, чтобы по клику на кнопку &quot;SendEmail&quot; в форме Mail (поле email) появился...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru