Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Экземпляры форм Добавлено: 28.01.07 21:05  

Автор вопроса:  pstrkim
Я открыл несколько экземпляров форм fOrder:
Dim frmSI As New fOrder
    frmSI.Show
Как мне написать код для вставки значения в таблицу последнего открытого экземпляра fOrder.DataGrid.Columns(0) из формы со списком fProducts.lv.selecteditem?

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 28.01.07 23:52
Ты экземпляр формы объявлешь как frmSI, а обращаешься к нему как fOrder.DataGrid... Почему??? Это некорректно..
В твоем случае необходимо при создании нового экземляра формы запомнить в локальной перменной уровня формы ссылку на этот экземпляр и это будет гарантией того, что у тебя всегда будет под рукой ссылка именно на последний экземпляр. И уже в дальнейшем обращаться к последней форме именно через эту ссылку..
И второе.. DataGrid должен быть объвлен минимум как Friend

Ответить

Номер ответа: 2
Автор ответа:
 pstrkim



Вопросов: 13
Ответов: 16
 Профиль | | #2 Добавлено: 31.01.07 13:15
Большое спасибо EROS, помогло! Но вот следующая ситуация – нужно вставить не в последний открытый экземпляр fOrders а в тот который был активным до открытия формы fProducts. Это решается если сделать fOrders дочерней формой и ссылаться на нее из родительской через свойство ActiveForm. Но что делать если fProducts – тоже является дочерней формой.

Ответить

Номер ответа: 3
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 31.01.07 15:41
Но что делать если fProducts – тоже является дочерней формой

Тут тоже просто... заведи глобальную переменную типа fOrder(где нибудь в MDI-форме),и в событии Aсtivate присваивай этой переменной ссылку на активную форму.Другими словами форма будет устанавливать ссылку сама на себя.. В результате у тебя в этой переменной всегда будет ссылка на ПОСЛЕДНЮЮ АКТИВНУЮ форму

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам