Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2015, 19:53   #1
Таксист
Пользователь
 
Аватар для Таксист
 
Регистрация: 11.12.2014
Сообщений: 66
По умолчанию Работа с обьектом на другой форме

Мучаю приложение которое заведует Складом различных товаров.
Для заказов пытаюсь сделать, что-то наподобие корзины как в интернет магазинах.
Берется весь список товаров в виде GridView из базы, кликается по нужной строке с товаром, и что бы указать нужное число выделенных товаров открывается вторая форма на которой TextBox уже и задает нужное число товаров. Но получается, что TextBox на второй форме, а список товаров на первой, там же где и обьект, в который я собираюсь загонять парметры из второй формы.

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

Код:
1
2
3
Form2 f = new Form2();
f.Owner = this;
f.ShowDialog();
Таксист вне форума Ответить с цитированием
Старый 30.07.2015, 20:16   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но к обьекту который там создан не получается.
А как пробовал? И каков текст ошибок?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.07.2015, 20:49   #3
Таксист
Пользователь
 
Аватар для Таксист
 
Регистрация: 11.12.2014
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А как пробовал? И каков текст ошибок?
В первой форме с названием AddOrder, при загрузки, создаю обьект и его список


Код:
private void AddOrder_Load(object sender, EventArgs e)
{
    List<Order> OrderList = new List<Order>();
    Order OrderObject = new Order();
}
Пытаюсь обратиться к нему со второй формы по клику

Код:
private void button1_Click(object sender, EventArgs e)
{
            AddOrder main = this.Owner as AddOrder;
            if (main != null)
            {
                 main.OrderObj
            }
}
Таксист вне форума Ответить с цитированием
Старый 30.07.2015, 21:19   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Во-первых: Order OrderObject локальная переменка. Вне AddOrder_Load она будет недоступна.
Во-вторых: OrderObj и OrderObject - имена разные.
Делай публичное свойство типа Order, тогда сможешь к нему обращаться.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.07.2015, 21:29   #5
Таксист
Пользователь
 
Аватар для Таксист
 
Регистрация: 11.12.2014
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Во-первых: Order OrderObject локальная переменка. Вне AddOrder_Load она будет недоступна.
Я почему то думал, что все от формы проистекает, и если объект создан на форме то у него и видимость как бы глобальная. Где же мне тогда создавать, в каком месте? Order и OrderObject, что бы к ним можно было достучатся из второй формы
Таксист вне форума Ответить с цитированием
Старый 30.07.2015, 21:41   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну создай ты свойство, говорю же.
Код:
class четтам{
 public Order OrderObject;
 public List<Order> OrderList;
 ...
 private void AddOrder_Load...
 ...
};
...

private void AddOrder_Load(object sender, EventArgs e)
{
    OrderList = new List<Order>();
    OrderObject = new Order();
}
И все. Юзай где хочешь потом.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.07.2015, 21:44   #7
Таксист
Пользователь
 
Аватар для Таксист
 
Регистрация: 11.12.2014
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну создай ты свойство, говорю же.
Код:
class четтам{
 public Order OrderObject;
 public List<Order> OrderList;
 ...
 private void AddOrder_Load...
 ...
};
...

private void AddOrder_Load(object sender, EventArgs e)
{
    OrderList = new List<Order>();
    OrderObject = new Order();
}
И все. Юзай где хочешь потом.

Спасибо! Я совсем не знал, что так можно!
Таксист вне форума Ответить с цитированием
Старый 30.07.2015, 21:50   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну тогда стоит почитать основы ООП. Ибо дальше будет сложнее. Область видимости не знать - в ООП это "котострофа", там же все построено на этом.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.07.2015, 21:51   #9
Таксист
Пользователь
 
Аватар для Таксист
 
Регистрация: 11.12.2014
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну тогда стоит почитать основы ООП. Ибо дальше будет сложнее. Область видимости не знать - в ООП это "котострофа", там же все построено на этом.
Конечно почитаю, я еще не научился воспринимать мир объектами, это видимо своебразное восприятие, которого мне не хватает
Таксист вне форума Ответить с цитированием
Старый 30.07.2015, 22:05   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я еще не научился воспринимать мир объектами
Тогда забудь про оконное ПО. Пиши пока консольные проекты.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При выборе другой фамилии на форме данные в другой столбец and150382 Microsoft Office Access 4 19.08.2013 21:07
передать переменную другой форме Le0n4iko_o Общие вопросы Delphi 3 16.08.2013 08:36
Вывод круга в другой форме Veryn4ik1993 C# (си шарп) 4 10.03.2013 14:01
Нарисовать на другой форме. Mr_freeman Помощь студентам 5 12.02.2012 18:02
StringGrid на другой форме cowboy Общие вопросы Delphi 20 17.07.2009 14:07