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

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

18.12.2010, 20:24. Показов 922. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru