Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Инструментальное окно в NET.? Добавлено: 16.09.05 00:12  

Автор вопроса:  vito | Web-сайт: softvito.narod2.ru
Сабж.

Нужно созать инструметальное окно(не модальное) и обмениваться данными с основным окном.

Окно создано и плавает:) но вот с обменом проблемы.
В SDK все примеры с модальными диаговыми окнами или миди.
А вот как организовать обмен данными между двумя немодальными окнами(в NET. классами) -тут проблема(или я не нашел).

Например.
'Методом new создаем дочернюю форму.
Form2 frm = new Form2() ;
frm.Show ();'немодальный режим.

Тут все более менее ясно. Можно передать данные (инициализация).(хотя все очень странно получается:))

Но вот как передать данные(динамически) из дочерней формы?

Метод ParentForm в данном случае не очень подходит(и не работает).
x = CType(Me.ParentForm, Form1).Text ' приведениe указателя к родительской форме(классу).
'Ошибка! Ткнули не туда:))
'Пример из SDK Млин!

С миди формами нормально, но мне не подходит.

Метод - Box(как я понял) предназначен для работы с неуправлямыми объектами(С# Unm. type->pointers)?

Есть ли какой - нибудь другой способ получить указатель на класс (форму)?

Ответить

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

Номер ответа: 1
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 16.09.05 07:45
Частозааваемый вопрос.. Решение пробемы не составляет трудности для человека, имеющего хоть какой-то опыт работы с ООП.

В "дочерней" форме (которую открывают из родительской):

Friend MyParent As Form
'...
MessageBox.Show (CType(Me.MyParent, Form1).Text)


В родительской форме:

Dim f As New Form2 ()
f.MyParent = Me
f.Show ()

Ответить

Номер ответа: 2
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #2
Добавлено: 16.09.05 07:47
Еще хотел добавить: это не совсем красивый код, т.к. он предполагает, что родительская форма - Form1. Более универсальное решение строится с помощью интерфейса (объявляется интерфейс с необходимыми членами, он реализуется всеми формами, которые будут родительскими, а в дочерней форме оперируем не с Form и Form1, а с интерфейсом).

Ответить

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



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #3
Добавлено: 16.09.05 15:05
Огромное спасибо! А то совсем запарился.

Но я тут нарыл еще возможность взаимодествия с помощью делегатов?

Ответить

Номер ответа: 4
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #4
Добавлено: 16.09.05 15:06
Да, можно и с помощью делегатов. Но, ИМХО, интерфейсы удобнее и быстрее.

Ответить

Номер ответа: 5
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #5
Добавлено: 16.09.05 15:07
Хотя всё конечно зависит от задачи. Бывает лучше создать делегат, или даже событие.

Ответить

Номер ответа: 6
Автор ответа:
 vito



Разработчик Offline Client

Вопросов: 23
Ответов: 879
 Web-сайт: softvito.narod2.ru
 Профиль | | #6
Добавлено: 16.09.05 17:02
Павел
Еще раз огромное спасибо.

Ответить

Страница: 1 |

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



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