Взяв информацию из одного окна и поместив ее в другое - PullRequest
1 голос
/ 31 марта 2009

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

Я попробовал это с моей недавней программой, угадайте цвет, но это не сработало так, как я думал. Я подумал, что мог бы присвоить его строке в текстовом поле переменной, и это перенесет в главное окно ...

Я хочу, чтобы это произошло:

  1. Пользователь запускает программу, нажимая на ярлык
  2. Пользователь нажимает опции на панели инструментов
  3. На экране появляется новое окно
  4. В этом окне пользователь выбирает размер карты, затем нажимает кнопку «ОК», чтобы проверить, радиокнопки, используемые в этом примере ...
  5. Вернуться к главному экрану после нажатия ОК
  6. Пользователь нажимает новый на панели инструментов, чтобы начать игру
  7. Игра тогда играет ...

Edit:

Form1          <<<   Form 2 
game screen          3x3 button
end turn 
  • Форма 1
  • Новая игра началась
  • форма 2 появляется
  • Нажата кнопка 3х3 *
  • переменная используется для смены карты (пока есть только одна карта) *
  • форма2 закрывается и форма1 показывает
  • Конец хода нажимается

Ответы [ 2 ]

2 голосов
/ 01 апреля 2009

Как правило, когда вы создаете новую форму / окно, вы держите ссылку на это окно формы, пока оно не закроется.

Затем, когда он закрывается, вы можете скопировать информацию обратно из формы / окна, которое только что закрылось, в ваше главное окно (или все, что вы хотите).

Ключевым моментом здесь является раскрытие свойств дочернего окна, которые представляют входные данные. Поэтому, если открытое дочернее окно имеет выбранный цвет, создайте свойство, предоставляющее этот цвет, чтобы родительское окно могло обращаться к нему на дочернем.

0 голосов
/ 01 апреля 2009

РЕДАКТИРОВАТЬ: Почему я думаю, что это был вопрос VB6? Это было повторно помечено? Если ОП может уточнить, какая версия VB, я обновлю мой пример.

ООП относится даже к VB6. Создайте класс для хранения общих данных. При запуске приложения создайте объект как глобальный объект (переменную). Я ненавижу глобальные переменные так же сильно, как и следующий парень, но в случае, когда эти данные должны просматриваться всем приложением (например, зарегистрированный пользовательский объект или регистрирующий объект), это уместно. Вы можете присвоить значения объекту класса в первой форме, а затем прочитать их из объекта класса во второй или любой другой форме.

Пример класса:

Option Explicit

Private m_firstName As String
Private m_lastName As String

Public Property Get FirstName() As String
    FirstName = m_firstName
End Property
Public Property Let FirstName(ByVal value As String)
    m_firstName = value
End Property

Public Property Get LastName() As String
    LastName = m_lastName
End Property
Public Property Let LastName(ByVal value As String)
    m_lastName = value
End Property

Public Function FullName() As String
    FullName = m_firstName & " " & m_lastName
End Function

У меня нет VB6 на этой машине, или я мог бы привести вам лучший пример. Я думаю в .NET в эти дни;)

Это может объяснить вещи немного больше - http://www.vbforums.com/showthread.php?t=374132

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...