Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/50: Рейтинг темы: голосов - 50, средняя оценка - 4.78
0 / 0 / 1
Регистрация: 02.08.2011
Сообщений: 66

Как передать массив между формами

10.08.2011, 08:10. Показов 10302. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!!!Помогите, пожалуйста!!!!!Такая проблема..есть Form1..в ней задаются входные данные и производится расчет, а результат помещается в массив x[], по кнопке осуществляется переход на Form2, в которой происходит последующий ввод данных и расчет, но в расчете должен учавствовать массив x[] из Form1....Как сделать так, чтобы Form2 видела x[]?????Буду очень благодарна!!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.08.2011, 08:10
Ответы с готовыми решениями:

Как передать данные (матрицы) между формами ?
Здравствуйте ! Помогите, пожалуйста, новичку. Как передавать простые данные - уже прочитал. Создание статического класса - удобная...

Передать значения между формами
Как передавать значения переменных между формами, т.е. мне надо, что бы на одной форме я вводил значения, а на другой форме по этим...

Как передать массив между циклами?
Здравствуйте, нужно передать масив из одного цикла в другой. В другом цикле пишет "names не существует в текущем контексте"....

9
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
10.08.2011, 08:15
Ответы на 7 самых частых вопросов по WinForms
0
0 / 0 / 1
Регистрация: 02.08.2011
Сообщений: 66
10.08.2011, 12:56  [ТС]
В этой статье вся передача происходит между textBox, а как передать массив, значения которого не вводились в textBox, а были получены в результате вычислений....
 Комментарий модератора 
Читать нужно до потери пульса. Такие темы создаются регулярно.
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
10.08.2011, 13:23
Цитата Сообщение от Кира22 Посмотреть сообщение
В этой статье вся передача происходит между textBox, а как передать массив, значения которого не вводились в textBox, а были получены в результате вычислений....
а вы дальше читайте, после textBoxа еще штук 5 способов
0
 Аватар для ushim
179 / 180 / 55
Регистрация: 01.06.2011
Сообщений: 507
10.08.2011, 13:59
С помощью делегетов можно всё или почти всё передать между формами.
Или можно не париться и нарушить законы ООП, сделать такой обработчик:
Form1:
C#
1
2
3
string[] myArray = new string[10];
Form2 f = new Form2(myArray);
f.Show();
Form2:
C#
1
2
3
4
5
string[] myArray;
public Form2(string[] a)
{
    myArray = a;
}
0
3 / 3 / 0
Регистрация: 19.08.2011
Сообщений: 69
08.03.2012, 14:41
А если я хочу передать массив из одной формы в обработчик события в другой форме, изменить там, а потом вернуть обратно, как такое сделать

Добавлено через 5 минут
потому что я вот как ushim описал могу сделать, но этот массив я смогу использовать только в методе Form2, а мне нужно его во второй форме в обработчике событий использовать
0
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,247
08.03.2012, 17:08
через ref передавай массив
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
08.03.2012, 21:28
Цитата Сообщение от ushim Посмотреть сообщение
Или можно не париться и нарушить законы ООП, сделать такой обработчик:
Какой закон ООП это нарушает?
0
87 / 55 / 15
Регистрация: 01.10.2010
Сообщений: 492
09.03.2012, 00:06
Цитата Сообщение от Кира22 Посмотреть сообщение
а как передать массив, значения которого не вводились в textBox, а были получены в результате вычислений....
можно передать не только textBox, но и любые поля формы, оформленные соответствующим образом
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
09.03.2012, 00:47
Цитата Сообщение от MDmitry_ Посмотреть сообщение
можно передать не только textBox, но и любые поля формы, оформленные соответствующим образом
Можно вообще передать какой угодно объект. Важно понимать, что TextBox это просто класс, как и любой другой. Нужно знать что такое ссылочный тип и значимый. И всё. Тут вообще нету ничего сложного и сверестественного.

Добавлено через 20 минут
Цитата Сообщение от Монфрид Посмотреть сообщение
через ref передавай массив
Через ref имеет смысл передавать только в случае создания нового массива в методе, в который передали ссылку на объект. А если в том методе куда передают ссылку на массив будут менять его значения, то ref там не нужен.

Вот где ref имеет смысл (передавать конечно же не обязательно именно null)
C#
1
2
3
string[] myArray = null;
Form2 f = new Form2(myArray);
f.Show();
Form2:
C#
1
2
3
4
public Form2(ref string[] a)
{
    a = new string[10];
}
Правда пример не совсем удачный, так как можно не понять зачем тут вообще формы.

Добавлено через 5 минут
Вот где нужен ref (более нормальный пример, хотя конкретно в этом примере лучше подойдёт out, а не ref):
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
using System;
 
namespace ConsoleApplication1
{
    class Program
    {
        static Random _random;
 
        static Program()
        {
            _random = new Random();
        }
 
        static void Main(string[] args)
        {
            string[] arr = null;
            InitArray(ref arr);
            foreach (string text in arr)
            {
                Console.WriteLine(text);
            }
            Console.ReadKey();
        }
 
        static void InitArray(ref string[] lines)
        {
            if (lines == null)
                lines = new string[10];
            for (int i = 0; i < lines.Length; i++)
            {
                lines[i] = _random.Next().ToString();
            }
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.03.2012, 00:47
Помогаю со студенческими работами здесь

Как передать данные между формами
Еще раз всем привет. У меня на Form1 есть 2 radioButton (radioButton1 и radioButton2), мне нужно передать включенный radioButton на...

Как передать данные между формами
Есть код для работы с текстбоксом и листбоксом. В изначальном варианте всё было так: текст бокс, кнопки, листбокс. При нажатии на кнопку...

Как передать значение переменной между формами?
Доброго времени суток! Как передать значение переменной из form1 в form2?

Как передать значение IP-адрес между формами
Borland C++ 6 Имеется DBGrid с колонкой Айпи-адреса. Когда я ставлю курсор на ячейке с айпи и нажимаю Butoon &quot;HTTPS&quot; в новой...

Как передать данные между формами, без Show/ShowDialog
Есть 3 формы: 1. MainForm, которая является меню и родительской формой, на ней имеются кнопки в виде toolstrip, которые, запускают...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Использование 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