Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не передаются значения List<T> 
V
    Опции темы
t0mmy4824
Дата 30.5.2011, 22:18 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 20.5.2011

Репутация: нет
Всего: нет



Здравствуйте, такая проблема возникла...
создаю List который заполняю классом, или не знаю как это называется) Создаю его глобально в Форме1
Код

public class basketel
        {
            public int id;
            public string name;
            public double price;
            public int count;
            public basketel(int _id, string _name, double _price, int _count)
            {
                id = _id;
                name = _name;
                price = _price;
                count = _count;
            }
        }
        public List<basketel> basket = new List<basketel>();


Хочу заполнить его в другой Форме - ФОРМЕ2
Код

Form1 ff1 = new Form1();
            int _id = Convert.ToInt32(panel1.Controls["textBox1"].Text);
            string _name = panel1.Controls["textBox2"].Text;
            double _price = Convert.ToDouble(panel1.Controls["textBox3"].Text);
            int _count = Convert.ToInt32(textBox1.Text);
            ff1.basket.Add(new Form1.basketel(_id, _name, _price, _count));


если обращаться к полям Листа с ФОРМЫ2 то они есть....как только я закрываю форму, все пропадает...в ФОРМЕ1 ЛИСТ пустой...
не понимаю чего так...
помогите пожалуйста
PM MAIL   Вверх
Yuretzzo
Дата 30.5.2011, 22:41 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 12.1.2011
Где: Менск і Мінск...

Репутация: нет
Всего: нет



Мне кажется что надо объявить List<t> как static.
PM MAIL   Вверх
Экскалупатор
Дата 31.5.2011, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



я так понял что ты из формы1 создаешь форма2, в форма2 тебе надо заполнить поле из форма1, но ты вместо того что бы обратиться к полю уже созданного экземпляра класса(тот который у тебя запускает форма2), создаешь НОВЫЙ экземпляр класса форма1 и в нем заполняешь, по этому не удивительно что ничего нету, его и быть не может, ведь ты заполняешь НОВЫЙ лист в НОВОМ классе и эти НОВЫЕ объекты никак не связаны с теми классами которые были уже созданы. можно конечно сделать лист статиком, но(!) сам по себе факт существования открытого поля уже не кошерно, а то что он будет иметь возможность изменяться в любом месте программы это совсем плохо. лучше научиться работать с классами и понять что формы это такие же классы как и любые другие, и если тебе надо что то изменить в первом классе то второй класс должен знать как это сделать, и уметь обращаться к полям уже созданного класса, а не создавать новый класс и потом уничтожать его...

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

Это сообщение отредактировал(а) Экскалупатор - 31.5.2011, 00:18
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0690 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.