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

Передача структуры из одной формы в другую

05.05.2013, 21:44. Показов 5668. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть структура, которая заполняется в первой форме. Мне необходимо ее перенести во вторую форму. Да, я знаю, что есть тема на форуме про это, я ее прочитала и еще нашла тут похожую, у меня получилось вот что:
это в первой форме
C#
1
2
3
4
5
6
7
struct Koordinaty
        {
            public int r;
            public int x;
            public int y;
        }
        Koordinaty[] kor = new Koordinaty[n];
C#
1
2
Form2 f2 = new Form2(Koordinaty);
            f2.ShowDialog();
а вот во второй
C#
1
2
3
4
5
public Form2(Koordinaty[] kor)
        {
            InitializeComponent();            
            
        }
но вот выдает ошибку во второй форме "Не удалось найти имя типа или пространства имен "Koordinaty" (пропущена директива using или ссылка на сборку?)"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.05.2013, 21:44
Ответы с готовыми решениями:

Передача из одной формы в другую
Всем привет! У меня есть две формы, в каждой форме есть одномерный массив текстбоксов. Собственно, как передать текст из одного массива...

Передача данных из одной формы в другую
Здраствуйте! У меня возникла следующая проблема: есть две формы, одна основная, на которой находится DataGridView для отображения данных....

Передача массивов из одной формы в другую
Есть форма 1 и форма 2. Начнем с формы 2. Я хочу из формы 1, взять массивы, значения всякие ну и кароче вот так написал: public...

23
 Аватар для Kruds
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
05.05.2013, 21:49
Пропишите в директиве using для формы пространство имен где структура описана.
0
212 / 214 / 44
Регистрация: 20.12.2011
Сообщений: 635
05.05.2013, 21:49
Цитата Сообщение от Yutra Посмотреть сообщение
Не удалось найти имя типа или пространства имен "Koordinaty"
неймспейс у обоимх форм одинаковый?
если разный, то либо сделайте одинаковым, либо обяъвите структуру как public struct Koordinaty
а ещё лучше public struct Coordinates
0
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 30
05.05.2013, 22:29  [ТС]
Цитата Сообщение от Kruds Посмотреть сообщение
Пропишите в директиве using для формы пространство имен где структура описана.
А можно попонятней для новичков?

Добавлено через 29 секунд
Цитата Сообщение от Fler Посмотреть сообщение
неймспейс у обоимх форм одинаковый?
если разный, то либо сделайте одинаковым, либо обяъвите структуру как public struct Koordinaty
а ещё лучше public struct Coordinates
увы, но это не помогло(
0
212 / 214 / 44
Регистрация: 20.12.2011
Сообщений: 635
05.05.2013, 22:57
Цитата Сообщение от Yutra Посмотреть сообщение
А можно попонятней для новичков?
выложите файл в котором структура и файл в котором вторая форма
0
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 30
06.05.2013, 12:09  [ТС]
Цитата Сообщение от Fler Посмотреть сообщение
выложите файл в котором структура и файл в котором вторая форма
это?
Вложения
Тип файла: rar формы.rar (1.1 Кб, 15 просмотров)
0
212 / 214 / 44
Регистрация: 20.12.2011
Сообщений: 635
06.05.2013, 12:54
объявите структуру вне класса Form1
0
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 30
07.05.2013, 11:03  [ТС]
Цитата Сообщение от Fler Посмотреть сообщение
объявите структуру вне класса Form1
а где именно и как?
0
212 / 214 / 44
Регистрация: 20.12.2011
Сообщений: 635
07.05.2013, 17:40
у Вас:
C#
1
2
3
4
5
6
7
8
partial class Form1 : Form
{
    ....
    struct Koordinaty
    {
       ...
    }
}
сделайте:
C#
1
2
3
4
5
6
7
8
9
partial class Form1 : Form
{
    ....
}
 
struct Koordinaty
{
   ...
}
0
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 30
09.05.2013, 10:17  [ТС]
хм... я так и пробовала, но вот мне выдает теперь такую ошибку
Несовместимость по доступности: доступность типа параметра "Курсовая.Koordinaty[]" ниже доступности метода "Курсовая.Form2.Form2(Курсовая.Koordinat y[])"
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
10.05.2013, 11:52
откройте для себя public
0
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 30
10.05.2013, 14:49  [ТС]
Цитата Сообщение от pincet Посмотреть сообщение
откройте для себя public
я как понимаю перед struct Koordinaty надо поставить public?
но теперь на строчке
C#
1
Form2 f2 = new Form2(Koordinaty);
выдает три ошибки
1) Наиболее подходящий перегруженный метод для "Курсовая.Form2.Form2(Курсовая.Koordinat y[])" имеет несколько недопустимых аргументов.
2)Аргумент"1":преобразование типа из "Курсовая.Koordinaty" в "Курсовая.Koordinaty[]" невозможно.
3) "Курсовая.Koordinaty" является "тип", но изпользуется как "переменная"
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
10.05.2013, 17:28
может, ну его нафик, программирование, а?
Коль скоро нет понимания, что Koordinaty и Koordinaty[] суть разные вещи - может борщей варить лучше? Не?
1
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 30
10.05.2013, 18:55  [ТС]
Цитата Сообщение от pincet Посмотреть сообщение
может, ну его нафик, программирование, а?
Коль скоро нет понимания, что Koordinaty и Koordinaty[] суть разные вещи - может борщей варить лучше? Не?
ох, если бы курсовую приняли в виде борща(
я ставила скобки, он выдавал, что требуется значение, если я ставлю n, которое вводится с клавы до этого, то он пишет, что Курсовая.Koordinaty является "тип", но используется как "переменная"
0
10 / 10 / 5
Регистрация: 20.02.2013
Сообщений: 59
10.05.2013, 19:30
Цитата Сообщение от pincet Посмотреть сообщение
может, ну его нафик, программирование, а?
Коль скоро нет понимания, что Koordinaty и Koordinaty[] суть разные вещи - может борщей варить лучше? Не?
Парни, нам нужно поговорить - вроде же очевидно что вы имеете дело с новичком. Некрасиво сексизмами разбрасываться. Почему для всех Новичок = Дилетант? это не есть гуд. Сюда люди за советами по программированию обращаются, а не за наставлениями в жизни, в конце концов. Я надеюсь Модераторы примут адекватные меры.

Отвечая по теме, попробуйте так:
1) вне класа Form 1, добавьте
C#
1
2
3
4
5
6
public struct Koordinaty
        {
            public int r;
            public int x;
            public int y;
        }
2) В класе Form 1 собсна создайте массив структур
C#
1
Koordinaty[] kor = new Koordinaty[n];
3) И уже этот масси передавайте в качестве параметра при вызове другой формы
C#
1
2
Form2 f2 = new Form2(kor);
            f2.ShowDialog();
4) Ну и во второй форме не забедьте определить сигнатуру метода Form2, что, собсна, в вашем примере было правильно:
C#
1
2
3
4
5
public Form2(Koordinaty[] kor)
        {
            InitializeComponent();            
            
        }
1
10.05.2013, 19:34

Не по теме:

Цитата Сообщение от Franky Посмотреть сообщение
Отвечая по теме, попробуйте так:
уже не раз пробовали

0
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 30
10.05.2013, 21:03  [ТС]
Цитата Сообщение от Franky Посмотреть сообщение
3) И уже этот масси передавайте в качестве параметра при вызове другой формы
C#
1
Form2 f2 = new Form2(kor);
спасибо) вот эта строчка помогла, но есть еще один вопрос, мне стремно задавать его, но во второй форме как с этой структурой обращаться, просто мне надо круги нарисовать по ней и как ее там писать? Не знаю, поняли ли вы мой вопрос
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
10.05.2013, 22:06
Цитата Сообщение от Franky Посмотреть сообщение
вроде же очевидно что вы имеете дело с новичком

Не по теме:


побольше бы таких погромистов. Мне работы больше будет

0
47 / 18 / 4
Регистрация: 17.04.2013
Сообщений: 87
10.05.2013, 22:33
А почему нельзя оставить в покое процесс создания Form2 и уже после создания объекта f2 передать в один из его public-методов всё что сочтёте нужным?
C#
1
2
Form2 f2 = new Form2();
f2.obrabotkaKoordinat(Koordinaty);
Добавлено через 2 минуты
А, да совсем забыл, ещё вот что:
C#
1
f2.Show();
0
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 30
11.05.2013, 15:12  [ТС]
Цитата Сообщение от 4um Посмотреть сообщение
А почему нельзя оставить в покое процесс создания Form2 и уже после создания объекта f2 передать в один из его public-методов всё что сочтёте нужным?
C#
1
2
Form2 f2 = new Form2();
f2.obrabotkaKoordinat(Koordinaty);
Добавлено через 2 минуты
А, да совсем забыл, ещё вот что:
C#
1
f2.Show();
а можете на примере показать, как рисования круга по координатам из структуры запихнуть в метод)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.05.2013, 15:12
Помогаю со студенческими работами здесь

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

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

Передача данных из одной формы в другую
Привет! Может сможет кто-то помочь, нужно по заданию сделать ограничение на длину пароля пользователя, чтобы была не меньше длинны,...

Передача данных из одной формы в другую
Подскажите пожалуйста: есть 2 формы (А и Б), в форме А объявлена переменная public string fio; и ей присвоено значение fio =...

Передача данных из одной формы в другую
Здравствуйте! Возникла такая задача: из Формы1 вызываем Форму2 там вводим некоторые данные. Затем по кнопке "Готово" Форма2...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
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/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru