С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
XpressMusicMan Музыка24/7
 Аватар для QwertyX
46 / 35 / 3
Регистрация: 27.08.2010
Сообщений: 346

Проблема с передачей параметров

18.12.2010, 20:24. Показов 899. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот опять...
Есть класс, и форма, и мди контейнер формы...
Вот код класса(точнее та часть которая задействована в проблеме):
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public Song()
        {
            Song.countSongs++;
        }
        public Song(string name, double length)
        {
            this.name = name;
            this.length = length;
            this.id = Song.countSongs;
            Song.countSongs++;
        }
        public static int GetNumOfSongs()
        {
            return Song.countSongs;
        }
И код формы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        Song[] songArr = new Song[1001];
 
        public OrganizeSong()
        {
            InitializeComponent();
        }
 
        private void Organize_Load(object sender, EventArgs e)
        {
 
            lblNumOfSongs.Text = "Num of songs: " + Song.GetNumOfSongs();
            if (Song.GetNumOfSongs()!=0)
            {
                for (int i = 0; i < Song.GetNumOfSongs(); i++)
                {
                    lstSongs.Items.Add("Name: " + songArr[i].GetName() + " Length: " + songArr[i].GetLength() + " Genre: " + songArr[i].GetGenre());
                }
            }
        }
Так вот проблема в том что выходит на те элементы массива которые еще не заполнены... Смысл что мди контейнер может открывать МНОГО форм... И при загрузки формы, лист бокс должен показывать уже записанные ранее "песни"... То есть при загрузке формы должно произойти следующее:

C#
1
2
3
4
5
6
7
8
            if (Song.GetNumOfSongs()!=0)//Проверить если вообще были песни...
            {
                for (int i = 0; i < Song.GetNumOfSongs(); i++)//если да, то узнать сколько именно их было, и по количеству песен,
// прогнать запросы по их данным и вставить их в лист бокс...
                {
                    lstSongs.Items.Add("Name: " + songArr[i].GetName() + " Length: " + songArr[i].GetLength() + " Genre: " + songArr[i].GetGenre());
                }
            }
Обычно так... Открываю 1-вую форму, добавляю 1 песню, открываю 2-ую форму и он вылетает
УЖЕ ПРОСТО ЗАМУЧИЛСЯ!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.12.2010, 20:24
Ответы с готовыми решениями:

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

Функция с передачей параметров по значению и по ссылке: что безопаснее
Какой способ передачи параметров более безопасный? Подскажите пожалуйста срочно надо

Проблема с передачей ссылки на экземпляр первой формы во вторую
При передачи ссылки на экземпляр 1й форму во вторую, во 2й форме не видит его. Вот пример, что я не так сделал: код 1й формы: ...

2
 Аватар для Alex_Sabaka
638 / 499 / 77
Регистрация: 28.07.2010
Сообщений: 895
18.12.2010, 20:53
А не проще использовать List<Song>? Тогда этот
C#
1
2
3
4
5
6
7
8
            lblNumOfSongs.Text = "Num of songs: " + Song.GetNumOfSongs();
            if (Song.GetNumOfSongs()!=0)
            {
                for (int i = 0; i < Song.GetNumOfSongs(); i++)
                {
                    lstSongs.Items.Add("Name: " + songArr[i].GetName() + " Length: " + songArr[i].GetLength() + " Genre: " + songArr[i].GetGenre());
                }
            }
участок кода станет таким:

C#
1
2
3
4
5
6
7
8
            lblNumOfSongs.Text = "Num of songs: " + list_of_songs.GetNumOfSongs();
            if (list_of_songs.Any())
            {
                foreach (Song s in list_of_songs) 
                {
                    lstSongs.Items.Add("Name: " + s.GetName() + " Length: " + s.GetLength() + " Genre: " + s.GetGenre());
                }
            }
0
XpressMusicMan Музыка24/7
 Аватар для QwertyX
46 / 35 / 3
Регистрация: 27.08.2010
Сообщений: 346
18.12.2010, 23:35  [ТС]
Мы еще его не проходили... Так что я его даже зная, не смогу использовать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.12.2010, 23:35
Помогаю со студенческими работами здесь

Вызов приложения с передачей параметров
Dobriy den'!! Mne nujno vizvat' prilojenie i peredat' emu parametri iz moyey progi. Kak eto sdelat' м C# ?

Как запустить программу с передачей ей параметров?
Встал такой вопрос Как запустить программу с передачей ей параметров в C# в место передачи ей параметров из ini И так есть файл ...

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

Проблема, связана с неправильной передачей параметров
Создал на Fortran dll по вычислению некоторой функции: SUBROUTINE ARRAYTEST(x,arr) !MS$ATTRIBUTES DLLEXPORT :: ARRAYTEST use...

Минимизация нелинейной функции. Проблема с передачей параметров
Очень прошу помощи (необходимо для выпускной работы). Суть проблемы: я задаю нелинейную функцию, к примеру, F(x) = a+b*x1+x2*x3, как мне...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru